From bd444312c721abb2d9b752c037371121f78bfa9a Mon Sep 17 00:00:00 2001 From: Julink Date: Wed, 4 Sep 2024 13:31:28 +0200 Subject: [PATCH] feat: made contract more configurable to adapt for NFT proxy contracts --- README.md | 36 +- contracts/NFTResolver.sol | 100 +- .../NFTResolverModule#NFTResolver.dbg.json | 2 +- .../NFTResolverModule#NFTResolver.json | 112 +- .../f7390dbaa4b479c35b2e57fbc1c9bc92.json | 99531 ++++++++++++++++ .../chain-1/deployed_addresses.json | 4 +- ignition/deployments/chain-1/journal.jsonl | 16 +- .../NFTResolverModule#NFTResolver.dbg.json | 2 +- .../NFTResolverModule#NFTResolver.json | 112 +- .../f7390dbaa4b479c35b2e57fbc1c9bc92.json | 99531 ++++++++++++++++ .../chain-11155111/deployed_addresses.json | 4 +- .../deployments/chain-11155111/journal.jsonl | 18 +- ignition/modules/NFTResolver.ts | 11 +- test/NFTResolver.ts | 29 +- 14 files changed, 199366 insertions(+), 142 deletions(-) create mode 100644 ignition/deployments/chain-1/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json create mode 100644 ignition/deployments/chain-11155111/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json diff --git a/README.md b/README.md index ebcf319..e2b3274 100644 --- a/README.md +++ b/README.md @@ -8,34 +8,44 @@ More precisely it is ID based, meaning the resolution of an address for a subdom If you own an ENS domain that you want its subdomains to resolve depending on a NFT collection deployed on Linea, simply follow those steps: 1 - Get the DNS encoded name of your ENS name, you can use etherJs dnsEncode function to get it: https://docs.ethers.org/v6/api/hashing/#dnsEncode -For example for `efrogs.eth`, the DNS encoded name is `0x066566726f67730365746800` +For example for `efrogs.eth`, the DNS encoded name is `0x066566726f67730365746800` 2 - Get the target NFT contract you want to use to resolve the subdomains depending on the NFT's owner addresses. -For example: [0x194395587d7b169e63eaf251e86b1892fa8f1960](https://lineascan.build/address/0x194395587d7b169e63eaf251e86b1892fa8f1960) +For example: [0x194395587d7b169e63eaf251e86b1892fa8f1960](https://lineascan.build/address/0x194395587d7b169e63eaf251e86b1892fa8f1960) -3 - Go to the [NFT resolver contract](https://etherscan.io/address/0xed24dDCB660c83803126DAAbFAfCE3b114936C58#writeContract) +3 - Go to the [NFT resolver contract](https://etherscan.io/address/0x8210077e031302C41aCD7FccC38628CA1788A999#writeContract) 4 - Click on `Connect to Web3`with the wallet that owns the chosen ENS name (Example `efrogs.eth`) 5 - Click on `setTarget` and add the parameters: - name: [DNS encoded name of your ENS name] (Example `0x066566726f67730365746800`) -target: [NFT contrac address on Linea] (Example `0x194395587d7b169e63eaf251e86b1892fa8f1960`) +`name`: [DNS encoded name of your ENS name] (Example `0x066566726f67730365746800`) +`target`: [NFT contrac address on Linea] (Example `0x194395587d7b169e63eaf251e86b1892fa8f1960`) +Click on write and approve the transaction. -6 - Click on write and approve the transaction +6 - Click on `setBaseNodeResolver` and add the parameters: +`name`: [DNS encoded name of your ENS name] (Example `0x066566726f67730365746800`) +`resolverAddr`: [The resolver you want to keep using for you base domain] (Example `0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63`) +Click on write and approve the transaction. -7 - Go the [ENS app website](https://app.ens.domains/) +7 - Click on `setTargetAddrSlot` and add the parameters: +`name`: [DNS encoded name of your ENS name] (Example `0x066566726f67730365746800`) +`slot`: [The slot in the target NFT contract that contains the owner addresses] (Example `122`) +Click on write and approve the transaction. -8 - Go to your ENS name profile page (Example: https://app.ens.domains/efrogs.eth) +8 - Go the [ENS app website](https://app.ens.domains/) -9 - Go to the tab `More` (Example: https://app.ens.domains/efrogs.eth?tab=more) +9 - Go to your ENS name profile page (Example: https://app.ens.domains/efrogs.eth) -10 - In the `Resolver` section at the bottom, click on `Edit` +10 - Go to the tab `More` (Example: https://app.ens.domains/efrogs.eth?tab=more) -11 - Click on `Custom Resolver` +11 - In the `Resolver` section at the bottom, click on `Edit` -12 - Add the NFT Resolver's address: `0xed24dDCB660c83803126DAAbFAfCE3b114936C58` +12 - Click on `Custom Resolver` -13 - Click on `Update`, `Open Wallet`and approve the transaction. +13 - Add the NFT Resolver's address: `0x8210077e031302C41aCD7FccC38628CA1788A999` +You'll get a warning but this is normal. + +14 - Click on `Update`, `Open Wallet`and approve the transaction. Once all those steps are done you can start resolving subdomains of your ENS domain using the NFT IDs minted on Linea. diff --git a/contracts/NFTResolver.sol b/contracts/NFTResolver.sol index b92fa61..5dd8b0e 100644 --- a/contracts/NFTResolver.sol +++ b/contracts/NFTResolver.sol @@ -28,14 +28,18 @@ contract NFTResolver is ENS public immutable ens; INameWrapper public immutable nameWrapper; uint256 public immutable l2ChainId; - // PublicResolver used to resolve a base domain such as xxx.eth when queried - address public immutable publicResolver; + // The targeted NFT contract on L2 mapping(bytes32 => address) targets; - uint256 constant OWNERS_SLOT = 2; + // The resolver for the base nodes(if any) + mapping(bytes32 => address) baseNodeResolvers; + // The owner slots in target contract containing the addresses to resolve to + mapping(address => uint256) targetAddrSlots; // To check how old is the value/proof returned and is in the acceptable range uint256 constant ACCEPTED_L2_BLOCK_RANGE_LENGTH = 86400; event TargetSet(bytes name, address target); + event BaseNodeResolverSet(bytes32 node, address resolverAddr); + event TargetAddrSlotSet(address target, uint256 slot); function isAuthorised(bytes32 node) internal view returns (bool) { address owner = ens.owner(node); @@ -53,18 +57,16 @@ contract NFTResolver is error StorageHandledByL2(uint256 chainId, address contractAddress); /** - * @param _verifier The chain verifier address - * @param _ens The ENS registry address - * @param _nameWrapper The ENS name wrapper address - * @param _l2ChainId The chainId at which the resolver resolves data from - * @param _publicResolver The PublicResolver address to use to resolve base domains + * @param _verifier The chain verifier address. + * @param _ens The ENS registry address. + * @param _nameWrapper The ENS name wrapper address. + * @param _l2ChainId The chainId at which the resolver resolves data from. */ constructor( IEVMVerifier _verifier, ENS _ens, INameWrapper _nameWrapper, - uint256 _l2ChainId, - address _publicResolver + uint256 _l2ChainId ) { require( address(_nameWrapper) != address(0), @@ -79,7 +81,6 @@ contract NFTResolver is ens = _ens; nameWrapper = _nameWrapper; l2ChainId = _l2ChainId; - publicResolver = _publicResolver; } /** @@ -95,8 +96,8 @@ contract NFTResolver is } /** - * Set target address to verify against - * @param name The encoded name to query. + * Set target address to verify against. + * @param name The DNS encoded name to set the target for. * @param target The L2 resolver address to verify against. */ function setTarget(bytes calldata name, address target) external { @@ -109,10 +110,44 @@ contract NFTResolver is emit TargetSet(name, target); } + /** + * Set base node resolver address. + * @param name The DNS encoded name to set the base node resolver. + * @param resolverAddr The resolver address to use. + */ + function setBaseNodeResolver( + bytes calldata name, + address resolverAddr + ) external { + (bytes32 node, ) = getTarget(name); + require( + isAuthorised(node), + "Not authorized to set resolver for this node" + ); + baseNodeResolvers[node] = resolverAddr; + emit BaseNodeResolverSet(node, resolverAddr); + } + + /** + * Set the slot to query by ccip to get the address from the target contract. + * @param name The DNS encoded name to set the target address slot to query. + * @param slot The slot to set. + */ + function setTargetAddrSlot(bytes calldata name, uint256 slot) external { + (bytes32 node, ) = getTarget(name); + require( + isAuthorised(node), + "Not authorized to set target address slot for this node" + ); + address target = targets[node]; + targetAddrSlots[target] = slot; + emit TargetAddrSlotSet(target, slot); + } + /** * @dev Returns the L2 target address that can answer queries for `name`. - * @param name DNS encoded ENS name to query - * @return node The node of the name + * @param name DNS encoded ENS name to query. + * @return node The node of the name. * @return target The L2 resolver address to verify against. */ function getTarget( @@ -142,9 +177,9 @@ contract NFTResolver is /** * @dev Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent. - * @param name DNS encoded ENS name to query - * @param data The actual calldata - * @return result result of the call + * @param name DNS encoded ENS name to query. + * @param data The actual calldata. + * @return result Result of the call. */ function resolve( bytes calldata name, @@ -157,7 +192,8 @@ contract NFTResolver is // If trying to resolve the base domain, we use the PublicResolver if (isBaseDomain) { - return _resolve(name, data); + address baseNodeResolver = baseNodeResolvers[node]; + return _resolve(baseNodeResolver, data); } // Only accept 1 level subdomain @@ -168,9 +204,10 @@ contract NFTResolver is bytes4 selector = bytes4(data); if (selector == IAddrResolver.addr.selector) { - // Get NFT Index from the + // Get NFT Index from the DNS encoded name uint256 nftId = extractNFTId(name); - return _addr(nftId, target); + uint256 slot = targetAddrSlots[target]; + return _addr(nftId, slot, target); } // None selector has been found it reverts @@ -178,9 +215,9 @@ contract NFTResolver is } /** - * Get the NFT Id from the ENS name's label - * @param name DNS encoded ENS name - * @return id the NFT id + * Get the NFT Id from the ENS name's label. + * @param name DNS encoded ENS name. + * @return id The NFT id. */ function extractNFTId(bytes calldata name) public pure returns (uint256) { bytes memory firstLabel = LabelUtils.extractFirstLabel(name); @@ -190,10 +227,10 @@ contract NFTResolver is } /** - * @dev Resolve and throws an EIP 3559 compliant error - * @param name DNS encoded ENS name to query - * @param _addr The actual calldata - * @return result result of the call + * @dev Resolve and throws an EIP 3559 compliant error. + * @param name DNS encoded ENS name to query. + * @param _addr The actual calldata. + * @return result Result of the call. */ function setAddr( bytes calldata name, @@ -212,10 +249,10 @@ contract NFTResolver is * @return The return data, ABI encoded identically to the underlying function. */ function _resolve( - bytes memory, + address baseNodeResolver, bytes memory data ) internal view returns (bytes memory) { - (bool success, bytes memory result) = publicResolver.staticcall(data); + (bool success, bytes memory result) = baseNodeResolver.staticcall(data); if (success) { return result; } else { @@ -228,11 +265,12 @@ contract NFTResolver is function _addr( uint256 tokenId, + uint256 slot, address target ) private view returns (bytes memory) { EVMFetcher .newFetchRequest(verifier, target) - .getStatic(OWNERS_SLOT) + .getStatic(slot) .element(tokenId) .fetch(this.addrCallback.selector, ""); // recordVersions } diff --git a/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.dbg.json b/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.dbg.json index 59335a9..e022a4b 100644 --- a/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.dbg.json +++ b/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/b81f40333ccc4acb691c7be2c38e0dd4.json" + "buildInfo": "../build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json" } \ No newline at end of file diff --git a/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.json b/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.json index a8ccc1e..b83095c 100644 --- a/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.json +++ b/ignition/deployments/chain-1/artifacts/NFTResolverModule#NFTResolver.json @@ -24,11 +24,6 @@ "internalType": "uint256", "name": "_l2ChainId", "type": "uint256" - }, - { - "internalType": "address", - "name": "_publicResolver", - "type": "address" } ], "stateMutability": "nonpayable", @@ -113,6 +108,44 @@ "name": "TooManyCommands", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "BaseNodeResolverSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "TargetAddrSlotSet", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -275,19 +308,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "publicResolver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -336,6 +356,24 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "setBaseNodeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -354,6 +392,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "setTargetAddrSlot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -387,26 +443,26 @@ "type": "function" } ], - "bytecode": "0x61012060405234801561001157600080fd5b50604051613c60380380613c60833981810160405281019061003391906103b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100999061048e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906104fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017790610566565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508160e081815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250505050505050610586565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061029382610268565b9050919050565b60006102a582610288565b9050919050565b6102b58161029a565b81146102c057600080fd5b50565b6000815190506102d2816102ac565b92915050565b60006102e382610288565b9050919050565b6102f3816102d8565b81146102fe57600080fd5b50565b600081519050610310816102ea565b92915050565b600061032182610288565b9050919050565b61033181610316565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000819050919050565b61036781610354565b811461037257600080fd5b50565b6000815190506103848161035e565b92915050565b61039381610288565b811461039e57600080fd5b50565b6000815190506103b08161038a565b92915050565b600080600080600060a086880312156103d2576103d1610263565b5b60006103e0888289016102c3565b95505060206103f188828901610301565b94505060406104028882890161033f565b935050606061041388828901610375565b9250506080610424888289016103a1565b9150509295509295909350565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b6000610478602083610431565b915061048382610442565b602082019050919050565b600060208201905081810360008301526104a78161046b565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b60006104e4601c83610431565b91506104ef826104ae565b602082019050919050565b60006020820190508181036000830152610513816104d7565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b6000610550601c83610431565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b60805160a05160c05160e0516101005161366c6105f460003960008181610dbe0152611006015260008181610cd501526112f8015260008181610b85015281816111ce0152611221015260008181610653015261113201526000818161062f01526110d7015261366c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c63430008190033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c63430008190033", + "bytecode": "0x61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", "linkReferences": { "contracts/LabelUtils.sol": { "LabelUtils": [ { "length": 20, - "start": 2666 + "start": 2567 }, { "length": 20, - "start": 2795 + "start": 2696 }, { "length": 20, - "start": 2978 + "start": 2879 }, { "length": 20, - "start": 4006 + "start": 3896 } ] } @@ -416,19 +472,19 @@ "LabelUtils": [ { "length": 20, - "start": 1142 + "start": 1179 }, { "length": 20, - "start": 1271 + "start": 1308 }, { "length": 20, - "start": 1454 + "start": 1491 }, { "length": 20, - "start": 2482 + "start": 2508 } ] } diff --git a/ignition/deployments/chain-1/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json b/ignition/deployments/chain-1/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json new file mode 100644 index 0000000..ba3894b --- /dev/null +++ b/ignition/deployments/chain-1/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json @@ -0,0 +1,99531 @@ +{ + "id": "f7390dbaa4b479c35b2e57fbc1c9bc92", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.25", + "solcLongVersion": "0.8.25+commit.b61c2a91", + "input": { + "language": "Solidity", + "sources": { + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\nimport {IEVMVerifier} from \"./IEVMVerifier.sol\";\nimport {EVMFetchTarget} from \"./EVMFetchTarget.sol\";\nimport {Address} from \"@openzeppelin/contracts/utils/Address.sol\";\n\ninterface IEVMGateway {\n function getStorageSlots(\n address addr,\n bytes32[] memory commands,\n bytes[] memory constants\n ) external pure returns (bytes memory witness);\n}\n\nuint8 constant FLAG_DYNAMIC = 0x01;\nuint8 constant OP_CONSTANT = 0x00;\nuint8 constant OP_BACKREF = 0x20;\nuint8 constant OP_END = 0xff;\n\n/**\n * @dev A library to facilitate requesting storage data proofs from contracts, possibly on a different chain.\n * See l1-verifier/test/TestL1.sol for example usage.\n */\nlibrary EVMFetcher {\n uint256 constant MAX_COMMANDS = 32;\n uint256 constant MAX_CONSTANTS = 32; // Must not be greater than 32\n\n using Address for address;\n\n error TooManyCommands(uint256 max);\n error CommandTooLong();\n error InvalidReference(uint256 value, uint256 max);\n error OffchainLookup(\n address sender,\n string[] urls,\n bytes callData,\n bytes4 callbackFunction,\n bytes extraData\n );\n\n struct EVMFetchRequest {\n IEVMVerifier verifier;\n address target;\n bytes32[] commands;\n uint256 operationIdx;\n bytes[] constants;\n }\n\n /**\n * @dev Creates a request to fetch the value of multiple storage slots from a contract via CCIP-Read, possibly from\n * another chain.\n * Supports dynamic length values and slot numbers derived from other retrieved values.\n * @param verifier An instance of a verifier contract that can provide and verify the storage slot information.\n * @param target The address of the contract to fetch storage proofs for.\n */\n function newFetchRequest(\n IEVMVerifier verifier,\n address target\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = new bytes32[](MAX_COMMANDS);\n bytes[] memory constants = new bytes[](MAX_CONSTANTS);\n assembly {\n mstore(commands, 0) // Set current array length to 0\n mstore(constants, 0)\n }\n return EVMFetchRequest(verifier, target, commands, 0, constants);\n }\n\n /**\n * @dev Starts describing a new fetch request.\n * Paths specify a series of hashing operations to derive the final slot ID.\n * See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n * lays out storage variables.\n * @param request The request object being operated on.\n * @param baseSlot The base slot ID that forms the root of the path.\n */\n function getStatic(\n EVMFetchRequest memory request,\n uint256 baseSlot\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = request.commands;\n uint256 commandIdx = commands.length;\n if (commandIdx > 0 && request.operationIdx < 32) {\n // Terminate previous command\n _addOperation(request, OP_END);\n }\n assembly {\n mstore(commands, add(commandIdx, 1)) // Increment command array length\n }\n if (request.commands.length > MAX_COMMANDS) {\n revert TooManyCommands(MAX_COMMANDS);\n }\n request.operationIdx = 0;\n _addOperation(request, 0);\n _addOperation(request, _addConstant(request, abi.encode(baseSlot)));\n return request;\n }\n\n /**\n * @dev Starts describing a new fetch request.\n * Paths specify a series of hashing operations to derive the final slot ID.\n * See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n * lays out storage variables.\n * @param request The request object being operated on.\n * @param baseSlot The base slot ID that forms the root of the path.\n */\n function getDynamic(\n EVMFetchRequest memory request,\n uint256 baseSlot\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = request.commands;\n uint256 commandIdx = commands.length;\n if (commandIdx > 0 && request.operationIdx < 32) {\n // Terminate previous command\n _addOperation(request, OP_END);\n }\n assembly {\n mstore(commands, add(commandIdx, 1)) // Increment command array length\n }\n if (request.commands.length > MAX_COMMANDS) {\n revert TooManyCommands(MAX_COMMANDS);\n }\n request.operationIdx = 0;\n _addOperation(request, FLAG_DYNAMIC);\n _addOperation(request, _addConstant(request, abi.encode(baseSlot)));\n return request;\n }\n\n /**\n * @dev Adds a `uint256` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n uint256 el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds a `bytes32` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n bytes32 el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds an `address` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n address el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds a `bytes` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n bytes memory el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, el));\n return request;\n }\n\n /**\n * @dev Adds a `string` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n string memory el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, bytes(el)));\n return request;\n }\n\n /**\n * @dev Adds a reference to a previous fetch to the current path.\n * @param request The request object being operated on.\n * @param idx The index of the previous fetch request, starting at 0.\n */\n function ref(\n EVMFetchRequest memory request,\n uint8 idx\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n if (idx > request.commands.length || idx > 31) {\n revert InvalidReference(idx, request.commands.length);\n }\n _addOperation(request, OP_BACKREF | idx);\n return request;\n }\n\n /**\n * @dev Initiates the fetch request.\n * Calling this function terminates execution; clients that implement CCIP-Read will make a callback to\n * `callback` with the results of the operation.\n * @param callbackId A callback function selector on this contract that will be invoked via CCIP-Read with the result of the lookup.\n * The function must have a signature matching `(bytes[] memory values, bytes callbackData)` with a return type matching the call in which\n * this function was invoked. Its return data will be returned as the return value of the entire CCIP-read operation.\n * @param callbackData Extra data to supply to the callback.\n */\n function fetch(\n EVMFetchRequest memory request,\n bytes4 callbackId,\n bytes memory callbackData\n ) internal view {\n if (request.commands.length > 0 && request.operationIdx < 32) {\n // Terminate last command\n _addOperation(request, OP_END);\n }\n\n revert OffchainLookup(\n address(this),\n request.verifier.gatewayURLs(),\n abi.encodeCall(\n IEVMGateway.getStorageSlots,\n (request.target, request.commands, request.constants)\n ),\n EVMFetchTarget.getStorageSlotsCallback.selector,\n abi.encode(\n request.verifier,\n request.target,\n request.commands,\n request.constants,\n callbackId,\n callbackData\n )\n );\n }\n\n function _addConstant(\n EVMFetchRequest memory request,\n bytes memory value\n ) private pure returns (uint8 idx) {\n bytes[] memory constants = request.constants;\n idx = uint8(constants.length);\n assembly {\n mstore(constants, add(idx, 1)) // Increment constant array length\n }\n constants[idx] = value;\n }\n\n function _addOperation(\n EVMFetchRequest memory request,\n uint8 op\n ) private pure {\n uint256 commandIdx = request.commands.length - 1;\n request.commands[commandIdx] =\n request.commands[commandIdx] |\n (bytes32(bytes1(op)) >> (8 * request.operationIdx++));\n }\n}\n" + }, + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\nimport {IEVMVerifier} from \"./IEVMVerifier.sol\";\nimport {Address} from \"@openzeppelin/contracts/utils/Address.sol\";\n\n/**\n * @dev Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must\n * inherit from this contract in order to handle callbacks correctly.\n */\nabstract contract EVMFetchTarget {\n using Address for address;\n\n error ResponseLengthMismatch(uint256 actual, uint256 expected);\n\n /**\n * @dev Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\n */\n function getStorageSlotsCallback(\n bytes calldata response,\n bytes calldata extradata\n ) external returns (bytes memory) {\n bytes memory proof = abi.decode(response, (bytes));\n (\n IEVMVerifier verifier,\n address addr,\n bytes32[] memory commands,\n bytes[] memory constants,\n bytes4 callback,\n bytes memory callbackData\n ) = abi.decode(\n extradata,\n (IEVMVerifier, address, bytes32[], bytes[], bytes4, bytes)\n );\n\n bytes[] memory values = verifier.getStorageValues(\n addr,\n commands,\n constants,\n proof,\n getAcceptedL2BlockRangeLength()\n );\n\n if (values.length != commands.length) {\n revert ResponseLengthMismatch(values.length, commands.length);\n }\n bytes memory ret = address(this).functionCall(\n abi.encodeWithSelector(callback, values, callbackData)\n );\n assembly {\n return(add(ret, 32), mload(ret))\n }\n }\n\n /**\n * @dev The child contract has to return an accepted L2 block range used by the verifier\n * to verify that the block number verified is in the accepted block range.\n */\n function getAcceptedL2BlockRangeLength()\n public\n view\n virtual\n returns (uint256);\n}\n" + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\ninterface IEVMVerifier {\n function gatewayURLs() external view returns (string[] memory);\n\n function getStorageValues(\n address target,\n bytes32[] memory commands,\n bytes[] memory constants,\n bytes memory proof,\n uint256 acceptedL2BlockRangeLength\n ) external view returns (bytes[] memory values);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "content": "import \"../registry/ENS.sol\";\nimport \"./IBaseRegistrar.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBaseRegistrar is IERC721 {\n event ControllerAdded(address indexed controller);\n event ControllerRemoved(address indexed controller);\n event NameMigrated(\n uint256 indexed id,\n address indexed owner,\n uint256 expires\n );\n event NameRegistered(\n uint256 indexed id,\n address indexed owner,\n uint256 expires\n );\n event NameRenewed(uint256 indexed id, uint256 expires);\n\n // Authorises a controller, who can register and renew domains.\n function addController(address controller) external;\n\n // Revoke controller permission for an address.\n function removeController(address controller) external;\n\n // Set the resolver for the TLD this registrar manages.\n function setResolver(address resolver) external;\n\n // Returns the expiration timestamp of the specified label hash.\n function nameExpires(uint256 id) external view returns (uint256);\n\n // Returns true if the specified name is available for registration.\n function available(uint256 id) external view returns (bool);\n\n /**\n * @dev Register a name.\n */\n function register(\n uint256 id,\n address owner,\n uint256 duration\n ) external returns (uint256);\n\n function renew(uint256 id, uint256 duration) external returns (uint256);\n\n /**\n * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.\n */\n function reclaim(uint256 id, address owner) external;\n}\n" + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\ninterface ENS {\n // Logged when the owner of a node assigns a new owner to a subnode.\n event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n // Logged when the owner of a node transfers ownership to a new account.\n event Transfer(bytes32 indexed node, address owner);\n\n // Logged when the resolver for a node changes.\n event NewResolver(bytes32 indexed node, address resolver);\n\n // Logged when the TTL of a node changes\n event NewTTL(bytes32 indexed node, uint64 ttl);\n\n // Logged when an operator is added or removed.\n event ApprovalForAll(\n address indexed owner,\n address indexed operator,\n bool approved\n );\n\n function setRecord(\n bytes32 node,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeRecord(\n bytes32 node,\n bytes32 label,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeOwner(\n bytes32 node,\n bytes32 label,\n address owner\n ) external returns (bytes32);\n\n function setResolver(bytes32 node, address resolver) external;\n\n function setOwner(bytes32 node, address owner) external;\n\n function setTTL(bytes32 node, uint64 ttl) external;\n\n function setApprovalForAll(address operator, bool approved) external;\n\n function owner(bytes32 node) external view returns (address);\n\n function resolver(bytes32 node) external view returns (address);\n\n function ttl(bytes32 node) external view returns (uint64);\n\n function recordExists(bytes32 node) external view returns (bool);\n\n function isApprovedForAll(\n address owner,\n address operator\n ) external view returns (bool);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\n/**\n * Interface for the new (multicoin) addr function.\n */\ninterface IAddressResolver {\n event AddressChanged(\n bytes32 indexed node,\n uint256 coinType,\n bytes newAddress\n );\n\n function addr(\n bytes32 node,\n uint256 coinType\n ) external view returns (bytes memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\n/**\n * Interface for the legacy (ETH-only) addr function.\n */\ninterface IAddrResolver {\n event AddrChanged(bytes32 indexed node, address a);\n\n /**\n * Returns the address associated with an ENS node.\n * @param node The ENS node to query.\n * @return The associated address.\n */\n function addr(bytes32 node) external view returns (address payable);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\ninterface IExtendedResolver {\n function resolve(\n bytes memory name,\n bytes memory data\n ) external view returns (bytes memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nlibrary BytesUtils {\n error OffsetOutOfBoundsError(uint256 offset, uint256 length);\n\n /*\n * @dev Returns the keccak-256 hash of a byte range.\n * @param self The byte string to hash.\n * @param offset The position to start hashing at.\n * @param len The number of bytes to hash.\n * @return The hash of the byte range.\n */\n function keccak(\n bytes memory self,\n uint256 offset,\n uint256 len\n ) internal pure returns (bytes32 ret) {\n require(offset + len <= self.length);\n assembly {\n ret := keccak256(add(add(self, 32), offset), len)\n }\n }\n\n /**\n * @dev Returns the ENS namehash of a DNS-encoded name.\n * @param self The DNS-encoded name to hash.\n * @param offset The offset at which to start hashing.\n * @return The namehash of the name.\n */\n function namehash(\n bytes memory self,\n uint256 offset\n ) internal pure returns (bytes32) {\n (bytes32 labelhash, uint256 newOffset) = readLabel(self, offset);\n if (labelhash == bytes32(0)) {\n require(offset == self.length - 1, \"namehash: Junk at end of name\");\n return bytes32(0);\n }\n return\n keccak256(abi.encodePacked(namehash(self, newOffset), labelhash));\n }\n\n /**\n * @dev Returns the keccak-256 hash of a DNS-encoded label, and the offset to the start of the next label.\n * @param self The byte string to read a label from.\n * @param idx The index to read a label at.\n * @return labelhash The hash of the label at the specified index, or 0 if it is the last label.\n * @return newIdx The index of the start of the next label.\n */\n function readLabel(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes32 labelhash, uint256 newIdx) {\n require(idx < self.length, \"readLabel: Index out of bounds\");\n uint256 len = uint256(uint8(self[idx]));\n if (len > 0) {\n labelhash = keccak(self, idx + 1, len);\n } else {\n labelhash = bytes32(0);\n }\n newIdx = idx + len + 1;\n }\n\n /*\n * @dev Returns a positive number if `other` comes lexicographically after\n * `self`, a negative number if it comes before, or zero if the\n * contents of the two bytes are equal.\n * @param self The first bytes to compare.\n * @param other The second bytes to compare.\n * @return The result of the comparison.\n */\n function compare(\n bytes memory self,\n bytes memory other\n ) internal pure returns (int256) {\n return compare(self, 0, self.length, other, 0, other.length);\n }\n\n /*\n * @dev Returns a positive number if `other` comes lexicographically after\n * `self`, a negative number if it comes before, or zero if the\n * contents of the two bytes are equal. Comparison is done per-rune,\n * on unicode codepoints.\n * @param self The first bytes to compare.\n * @param offset The offset of self.\n * @param len The length of self.\n * @param other The second bytes to compare.\n * @param otheroffset The offset of the other string.\n * @param otherlen The length of the other string.\n * @return The result of the comparison.\n */\n function compare(\n bytes memory self,\n uint256 offset,\n uint256 len,\n bytes memory other,\n uint256 otheroffset,\n uint256 otherlen\n ) internal pure returns (int256) {\n if (offset + len > self.length) {\n revert OffsetOutOfBoundsError(offset + len, self.length);\n }\n if (otheroffset + otherlen > other.length) {\n revert OffsetOutOfBoundsError(otheroffset + otherlen, other.length);\n }\n\n uint256 shortest = len;\n if (otherlen < len) shortest = otherlen;\n\n uint256 selfptr;\n uint256 otherptr;\n\n assembly {\n selfptr := add(self, add(offset, 32))\n otherptr := add(other, add(otheroffset, 32))\n }\n for (uint256 idx = 0; idx < shortest; idx += 32) {\n uint256 a;\n uint256 b;\n assembly {\n a := mload(selfptr)\n b := mload(otherptr)\n }\n if (a != b) {\n // Mask out irrelevant bytes and check again\n uint256 mask;\n if (shortest - idx >= 32) {\n mask = type(uint256).max;\n } else {\n mask = ~(2 ** (8 * (idx + 32 - shortest)) - 1);\n }\n int256 diff = int256(a & mask) - int256(b & mask);\n if (diff != 0) return diff;\n }\n selfptr += 32;\n otherptr += 32;\n }\n\n return int256(len) - int256(otherlen);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @param otherOffset The offset into the second byte range.\n * @param len The number of bytes to compare\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other,\n uint256 otherOffset,\n uint256 len\n ) internal pure returns (bool) {\n return keccak(self, offset, len) == keccak(other, otherOffset, len);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal with offsets.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @param otherOffset The offset into the second byte range.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other,\n uint256 otherOffset\n ) internal pure returns (bool) {\n return\n keccak(self, offset, self.length - offset) ==\n keccak(other, otherOffset, other.length - otherOffset);\n }\n\n /*\n * @dev Compares a range of 'self' to all of 'other' and returns True iff\n * they are equal.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other\n ) internal pure returns (bool) {\n return\n self.length == offset + other.length &&\n equals(self, offset, other, 0, other.length);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal.\n * @param self The first byte range to compare.\n * @param other The second byte range to compare.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n bytes memory other\n ) internal pure returns (bool) {\n return\n self.length == other.length &&\n equals(self, 0, other, 0, self.length);\n }\n\n /*\n * @dev Returns the 8-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 8 bits of the string, interpreted as an integer.\n */\n function readUint8(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint8 ret) {\n return uint8(self[idx]);\n }\n\n /*\n * @dev Returns the 16-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 16 bits of the string, interpreted as an integer.\n */\n function readUint16(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint16 ret) {\n require(idx + 2 <= self.length);\n assembly {\n ret := and(mload(add(add(self, 2), idx)), 0xFFFF)\n }\n }\n\n /*\n * @dev Returns the 32-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bits of the string, interpreted as an integer.\n */\n function readUint32(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint32 ret) {\n require(idx + 4 <= self.length);\n assembly {\n ret := and(mload(add(add(self, 4), idx)), 0xFFFFFFFF)\n }\n }\n\n /*\n * @dev Returns the 32 byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bytes of the string.\n */\n function readBytes32(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes32 ret) {\n require(idx + 32 <= self.length);\n assembly {\n ret := mload(add(add(self, 32), idx))\n }\n }\n\n /*\n * @dev Returns the 32 byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bytes of the string.\n */\n function readBytes20(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes20 ret) {\n require(idx + 20 <= self.length);\n assembly {\n ret := and(\n mload(add(add(self, 32), idx)),\n 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\n )\n }\n }\n\n /*\n * @dev Returns the n byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes.\n * @param len The number of bytes.\n * @return The specified 32 bytes of the string.\n */\n function readBytesN(\n bytes memory self,\n uint256 idx,\n uint256 len\n ) internal pure returns (bytes32 ret) {\n require(len <= 32);\n require(idx + len <= self.length);\n assembly {\n let mask := not(sub(exp(256, sub(32, len)), 1))\n ret := and(mload(add(add(self, 32), idx)), mask)\n }\n }\n\n function memcpy(uint256 dest, uint256 src, uint256 len) private pure {\n // Copy word-length chunks while possible\n for (; len >= 32; len -= 32) {\n assembly {\n mstore(dest, mload(src))\n }\n dest += 32;\n src += 32;\n }\n\n // Copy remaining bytes\n unchecked {\n uint256 mask = (256 ** (32 - len)) - 1;\n assembly {\n let srcpart := and(mload(src), not(mask))\n let destpart := and(mload(dest), mask)\n mstore(dest, or(destpart, srcpart))\n }\n }\n }\n\n /*\n * @dev Copies a substring into a new byte string.\n * @param self The byte string to copy from.\n * @param offset The offset to start copying at.\n * @param len The number of bytes to copy.\n */\n function substring(\n bytes memory self,\n uint256 offset,\n uint256 len\n ) internal pure returns (bytes memory) {\n require(offset + len <= self.length);\n\n bytes memory ret = new bytes(len);\n uint256 dest;\n uint256 src;\n\n assembly {\n dest := add(ret, 32)\n src := add(add(self, 32), offset)\n }\n memcpy(dest, src, len);\n\n return ret;\n }\n\n // Maps characters from 0x30 to 0x7A to their base32 values.\n // 0xFF represents invalid characters in that range.\n bytes constant base32HexTable =\n hex\"00010203040506070809FFFFFFFFFFFFFF0A0B0C0D0E0F101112131415161718191A1B1C1D1E1FFFFFFFFFFFFFFFFFFFFF0A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\";\n\n /**\n * @dev Decodes unpadded base32 data of up to one word in length.\n * @param self The data to decode.\n * @param off Offset into the string to start at.\n * @param len Number of characters to decode.\n * @return The decoded data, left aligned.\n */\n function base32HexDecodeWord(\n bytes memory self,\n uint256 off,\n uint256 len\n ) internal pure returns (bytes32) {\n require(len <= 52);\n\n uint256 ret = 0;\n uint8 decoded;\n for (uint256 i = 0; i < len; i++) {\n bytes1 char = self[off + i];\n require(char >= 0x30 && char <= 0x7A);\n decoded = uint8(base32HexTable[uint256(uint8(char)) - 0x30]);\n require(decoded <= 0x20);\n if (i == len - 1) {\n break;\n }\n ret = (ret << 5) | decoded;\n }\n\n uint256 bitlen = len * 5;\n if (len % 8 == 0) {\n // Multiple of 8 characters, no padding\n ret = (ret << 5) | decoded;\n } else if (len % 8 == 2) {\n // Two extra characters - 1 byte\n ret = (ret << 3) | (decoded >> 2);\n bitlen -= 2;\n } else if (len % 8 == 4) {\n // Four extra characters - 2 bytes\n ret = (ret << 1) | (decoded >> 4);\n bitlen -= 4;\n } else if (len % 8 == 5) {\n // Five extra characters - 3 bytes\n ret = (ret << 4) | (decoded >> 1);\n bitlen -= 1;\n } else if (len % 8 == 7) {\n // Seven extra characters - 4 bytes\n ret = (ret << 2) | (decoded >> 3);\n bitlen -= 3;\n } else {\n revert();\n }\n\n return bytes32(ret << (256 - bitlen));\n }\n\n /**\n * @dev Finds the first occurrence of the byte `needle` in `self`.\n * @param self The string to search\n * @param off The offset to start searching at\n * @param len The number of bytes to search\n * @param needle The byte to search for\n * @return The offset of `needle` in `self`, or 2**256-1 if it was not found.\n */\n function find(\n bytes memory self,\n uint256 off,\n uint256 len,\n bytes1 needle\n ) internal pure returns (uint256) {\n for (uint256 idx = off; idx < off + len; idx++) {\n if (self[idx] == needle) {\n return idx;\n }\n }\n return type(uint256).max;\n }\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\ninterface IMetadataService {\n function uri(uint256) external view returns (string memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\nimport \"../registry/ENS.sol\";\nimport \"../ethregistrar/IBaseRegistrar.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\";\nimport \"./IMetadataService.sol\";\nimport \"./INameWrapperUpgrade.sol\";\n\nuint32 constant CANNOT_UNWRAP = 1;\nuint32 constant CANNOT_BURN_FUSES = 2;\nuint32 constant CANNOT_TRANSFER = 4;\nuint32 constant CANNOT_SET_RESOLVER = 8;\nuint32 constant CANNOT_SET_TTL = 16;\nuint32 constant CANNOT_CREATE_SUBDOMAIN = 32;\nuint32 constant CANNOT_APPROVE = 64;\n//uint16 reserved for parent controlled fuses from bit 17 to bit 32\nuint32 constant PARENT_CANNOT_CONTROL = 1 << 16;\nuint32 constant IS_DOT_ETH = 1 << 17;\nuint32 constant CAN_EXTEND_EXPIRY = 1 << 18;\nuint32 constant CAN_DO_EVERYTHING = 0;\nuint32 constant PARENT_CONTROLLED_FUSES = 0xFFFF0000;\n// all fuses apart from IS_DOT_ETH\nuint32 constant USER_SETTABLE_FUSES = 0xFFFDFFFF;\n\ninterface INameWrapper is IERC1155 {\n event NameWrapped(\n bytes32 indexed node,\n bytes name,\n address owner,\n uint32 fuses,\n uint64 expiry\n );\n\n event NameUnwrapped(bytes32 indexed node, address owner);\n\n event FusesSet(bytes32 indexed node, uint32 fuses);\n event ExpiryExtended(bytes32 indexed node, uint64 expiry);\n\n function ens() external view returns (ENS);\n\n function registrar() external view returns (IBaseRegistrar);\n\n function metadataService() external view returns (IMetadataService);\n\n function names(bytes32) external view returns (bytes memory);\n\n function name() external view returns (string memory);\n\n function upgradeContract() external view returns (INameWrapperUpgrade);\n\n function supportsInterface(bytes4 interfaceID) external view returns (bool);\n\n function wrap(\n bytes calldata name,\n address wrappedOwner,\n address resolver\n ) external;\n\n function wrapETH2LD(\n string calldata label,\n address wrappedOwner,\n uint16 ownerControlledFuses,\n address resolver\n ) external returns (uint64 expires);\n\n function registerAndWrapETH2LD(\n string calldata label,\n address wrappedOwner,\n uint256 duration,\n address resolver,\n uint16 ownerControlledFuses\n ) external returns (uint256 registrarExpiry);\n\n function renew(\n uint256 labelHash,\n uint256 duration\n ) external returns (uint256 expires);\n\n function unwrap(bytes32 node, bytes32 label, address owner) external;\n\n function unwrapETH2LD(\n bytes32 label,\n address newRegistrant,\n address newController\n ) external;\n\n function upgrade(bytes calldata name, bytes calldata extraData) external;\n\n function setFuses(\n bytes32 node,\n uint16 ownerControlledFuses\n ) external returns (uint32 newFuses);\n\n function setChildFuses(\n bytes32 parentNode,\n bytes32 labelhash,\n uint32 fuses,\n uint64 expiry\n ) external;\n\n function setSubnodeRecord(\n bytes32 node,\n string calldata label,\n address owner,\n address resolver,\n uint64 ttl,\n uint32 fuses,\n uint64 expiry\n ) external returns (bytes32);\n\n function setRecord(\n bytes32 node,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeOwner(\n bytes32 node,\n string calldata label,\n address newOwner,\n uint32 fuses,\n uint64 expiry\n ) external returns (bytes32);\n\n function extendExpiry(\n bytes32 node,\n bytes32 labelhash,\n uint64 expiry\n ) external returns (uint64);\n\n function canModifyName(\n bytes32 node,\n address addr\n ) external view returns (bool);\n\n function setResolver(bytes32 node, address resolver) external;\n\n function setTTL(bytes32 node, uint64 ttl) external;\n\n function ownerOf(uint256 id) external view returns (address owner);\n\n function approve(address to, uint256 tokenId) external;\n\n function getApproved(uint256 tokenId) external view returns (address);\n\n function getData(\n uint256 id\n ) external view returns (address, uint32, uint64);\n\n function setMetadataService(IMetadataService _metadataService) external;\n\n function uri(uint256 tokenId) external view returns (string memory);\n\n function setUpgradeContract(INameWrapperUpgrade _upgradeAddress) external;\n\n function allFusesBurned(\n bytes32 node,\n uint32 fuseMask\n ) external view returns (bool);\n\n function isWrapped(bytes32) external view returns (bool);\n\n function isWrapped(bytes32, bytes32) external view returns (bool);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\ninterface INameWrapperUpgrade {\n function wrapFromUpgrade(\n bytes calldata name,\n address wrappedOwner,\n uint32 fuses,\n uint64 expiry,\n address approved,\n bytes calldata extraData\n ) external;\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC1155/IERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC1155 compliant contract, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1155[EIP].\n *\n * _Available since v3.1._\n */\ninterface IERC1155 is IERC165 {\n /**\n * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\n */\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\n\n /**\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n * transfers.\n */\n event TransferBatch(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256[] ids,\n uint256[] values\n );\n\n /**\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n * `approved`.\n */\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\n\n /**\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n *\n * If an {URI} event was emitted for `id`, the standard\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n * returned by {IERC1155MetadataURI-uri}.\n */\n event URI(string value, uint256 indexed id);\n\n /**\n * @dev Returns the amount of tokens of token type `id` owned by `account`.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(\n address[] calldata accounts,\n uint256[] calldata ids\n ) external view returns (uint256[] memory);\n\n /**\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the caller.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n *\n * See {setApprovalForAll}.\n */\n function isApprovedForAll(address account, address operator) external view returns (bool);\n\n /**\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external;\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] calldata ids,\n uint256[] calldata amounts,\n bytes calldata data\n ) external;\n}\n" + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Address.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "contracts/IAddrSetter.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\ninterface IAddrSetter {\n function setAddr(\n bytes calldata name,\n address _addr\n ) external view returns (bytes memory result);\n}\n" + }, + "contracts/ITargetResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\ninterface ITargetResolver {\n function getTarget(\n bytes memory name\n ) external view returns (bytes32 node, address target);\n}\n" + }, + "contracts/LabelUtils.sol": { + "content": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.25;\n\n/**\n * @title Library to perform ENS label manipulation\n * @author ConsenSys Software Inc.\n */\nlibrary LabelUtils {\n /**\n * Extract the first label name from a dns encoded ens domain\n * @param name the dns encoded ENS domain\n * @return label as bytes\n */\n function extractFirstLabel(\n bytes memory name\n ) external pure returns (bytes memory) {\n uint256 idx = 0;\n uint8 labelLength = uint8(name[idx]);\n idx++;\n bytes memory label = new bytes(labelLength);\n for (uint256 i = 0; i < labelLength; i++) {\n label[i] = name[idx + i];\n }\n return label;\n }\n\n /**\n * Extract the numeric suffix from the dns encoded label\n * @param label the dns encoded label\n * @return number the numeric suffix\n */\n function extractNumericSuffix(\n bytes memory label\n ) external pure returns (uint256) {\n uint256 num = 0;\n bool hasNumber = false;\n\n for (uint256 i = 0; i < label.length; i++) {\n uint8 char = uint8(label[i]);\n if (char >= 48 && char <= 57) {\n // ASCII for '0' is 48 and '9' is 57\n num = num * 10 + (char - 48);\n hasNumber = true;\n } else if (hasNumber) {\n // Break on first non-digit after starting to read numbers\n break;\n }\n }\n\n require(hasNumber, \"No numeric suffix found\");\n return num;\n }\n\n /**\n * Check if the bytes param is a number or not\n * @param input bytes to check\n * @return true if number, false otherwise\n */\n function isNumber(bytes memory input) public pure returns (bool) {\n for (uint i = 0; i < input.length; i++) {\n // Check if each byte is within the ASCII range for '0' to '9'\n if (input[i] < 0x30 || input[i] > 0x39) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Counts the number of labels in the DNS encoded input given\n * @param input the DNS encoded input to count from\n * @return number labels found\n */\n function countLabels(bytes memory input) public pure returns (uint) {\n uint count = 0;\n uint i = 0;\n\n while (i < input.length) {\n uint labelLength = uint(uint8(input[i]));\n if (labelLength == 0) {\n break; // End of the DNS name\n }\n count++;\n i += labelLength + 1;\n }\n\n return count;\n }\n}\n" + }, + "contracts/NFTResolver.sol": { + "content": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.25;\n\nimport {EVMFetcher} from \"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\";\nimport {EVMFetchTarget} from \"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\";\nimport {IEVMVerifier} from \"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\";\nimport \"@ensdomains/ens-contracts/contracts/registry/ENS.sol\";\nimport {INameWrapper} from \"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\";\nimport {BytesUtils} from \"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\";\nimport {IAddrResolver} from \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\";\nimport {IAddressResolver} from \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\";\nimport \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\";\nimport {ITargetResolver} from \"./ITargetResolver.sol\";\nimport {IAddrSetter} from \"./IAddrSetter.sol\";\nimport \"@openzeppelin/contracts/utils/introspection/ERC165.sol\";\nimport {LabelUtils} from \"./LabelUtils.sol\";\n\ncontract NFTResolver is\n EVMFetchTarget,\n ITargetResolver,\n IExtendedResolver,\n IAddrSetter,\n ERC165\n{\n using EVMFetcher for EVMFetcher.EVMFetchRequest;\n using BytesUtils for bytes;\n IEVMVerifier public immutable verifier;\n ENS public immutable ens;\n INameWrapper public immutable nameWrapper;\n uint256 public immutable l2ChainId;\n // The targeted NFT contract on L2\n mapping(bytes32 => address) targets;\n // The resolver for the base nodes(if any)\n mapping(bytes32 => address) baseNodeResolvers;\n // The owner slots in target contract containing the addresses to resolve to\n mapping(address => uint256) targetAddrSlots;\n // To check how old is the value/proof returned and is in the acceptable range\n uint256 constant ACCEPTED_L2_BLOCK_RANGE_LENGTH = 86400;\n\n event TargetSet(bytes name, address target);\n event BaseNodeResolverSet(bytes32 node, address resolverAddr);\n event TargetAddrSlotSet(address target, uint256 slot);\n\n function isAuthorised(bytes32 node) internal view returns (bool) {\n address owner = ens.owner(node);\n if (owner == address(nameWrapper)) {\n owner = nameWrapper.ownerOf(uint256(node));\n }\n return owner == msg.sender;\n }\n\n /**\n * @dev EIP-5559 - Error to raise when mutations are being deferred to an L2.\n * @param chainId Chain ID to perform the deferred mutation to.\n * @param contractAddress Contract Address at which the deferred mutation should transact with.\n */\n error StorageHandledByL2(uint256 chainId, address contractAddress);\n\n /**\n * @param _verifier The chain verifier address.\n * @param _ens The ENS registry address.\n * @param _nameWrapper The ENS name wrapper address.\n * @param _l2ChainId The chainId at which the resolver resolves data from.\n */\n constructor(\n IEVMVerifier _verifier,\n ENS _ens,\n INameWrapper _nameWrapper,\n uint256 _l2ChainId\n ) {\n require(\n address(_nameWrapper) != address(0),\n \"Name Wrapper address must be set\"\n );\n require(\n address(_verifier) != address(0),\n \"Verifier address must be set\"\n );\n require(address(_ens) != address(0), \"Registry address must be set\");\n verifier = _verifier;\n ens = _ens;\n nameWrapper = _nameWrapper;\n l2ChainId = _l2ChainId;\n }\n\n /**\n * @dev inherits from EVMFetchTarget\n */\n function getAcceptedL2BlockRangeLength()\n public\n pure\n override\n returns (uint256)\n {\n return ACCEPTED_L2_BLOCK_RANGE_LENGTH;\n }\n\n /**\n * Set target address to verify against.\n * @param name The DNS encoded name to set the target for.\n * @param target The L2 resolver address to verify against.\n */\n function setTarget(bytes calldata name, address target) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set target for this node\"\n );\n targets[node] = target;\n emit TargetSet(name, target);\n }\n\n /**\n * Set base node resolver address.\n * @param name The DNS encoded name to set the base node resolver.\n * @param resolverAddr The resolver address to use.\n */\n function setBaseNodeResolver(\n bytes calldata name,\n address resolverAddr\n ) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set resolver for this node\"\n );\n baseNodeResolvers[node] = resolverAddr;\n emit BaseNodeResolverSet(node, resolverAddr);\n }\n\n /**\n * Set the slot to query by ccip to get the address from the target contract.\n * @param name The DNS encoded name to set the target address slot to query.\n * @param slot The slot to set.\n */\n function setTargetAddrSlot(bytes calldata name, uint256 slot) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set target address slot for this node\"\n );\n address target = targets[node];\n targetAddrSlots[target] = slot;\n emit TargetAddrSlotSet(target, slot);\n }\n\n /**\n * @dev Returns the L2 target address that can answer queries for `name`.\n * @param name DNS encoded ENS name to query.\n * @return node The node of the name.\n * @return target The L2 resolver address to verify against.\n */\n function getTarget(\n bytes memory name\n ) public view returns (bytes32 node, address target) {\n return _getTarget(name, 0);\n }\n\n function _getTarget(\n bytes memory name,\n uint256 offset\n ) private view returns (bytes32 node, address target) {\n uint256 len = name.readUint8(offset);\n node = bytes32(0);\n if (len > 0) {\n bytes32 label = name.keccak(offset + 1, len);\n (node, target) = _getTarget(name, offset + len + 1);\n node = keccak256(abi.encodePacked(node, label));\n if (targets[node] != address(0)) {\n return (node, targets[node]);\n }\n } else {\n return (bytes32(0), address(0));\n }\n return (node, target);\n }\n\n /**\n * @dev Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\n * @param name DNS encoded ENS name to query.\n * @param data The actual calldata.\n * @return result Result of the call.\n */\n function resolve(\n bytes calldata name,\n bytes calldata data\n ) external view returns (bytes memory result) {\n require(data.length >= 4, \"param data too short\");\n\n bytes32 node = abi.decode(data[4:], (bytes32));\n bool isBaseDomain = targets[node] != address(0);\n\n // If trying to resolve the base domain, we use the PublicResolver\n if (isBaseDomain) {\n address baseNodeResolver = baseNodeResolvers[node];\n return _resolve(baseNodeResolver, data);\n }\n\n // Only accept 1 level subdomain\n require(LabelUtils.countLabels(name) <= 3, \"Too many subdomain levels\");\n\n (, address target) = _getTarget(name, 0);\n\n bytes4 selector = bytes4(data);\n\n if (selector == IAddrResolver.addr.selector) {\n // Get NFT Index from the DNS encoded name\n uint256 nftId = extractNFTId(name);\n uint256 slot = targetAddrSlots[target];\n return _addr(nftId, slot, target);\n }\n\n // None selector has been found it reverts\n revert(\"invalid selector\");\n }\n\n /**\n * Get the NFT Id from the ENS name's label.\n * @param name DNS encoded ENS name.\n * @return id The NFT id.\n */\n function extractNFTId(bytes calldata name) public pure returns (uint256) {\n bytes memory firstLabel = LabelUtils.extractFirstLabel(name);\n // Only accept numbers as the label\n require(LabelUtils.isNumber(firstLabel), \"Label is not a number\");\n return LabelUtils.extractNumericSuffix(firstLabel);\n }\n\n /**\n * @dev Resolve and throws an EIP 3559 compliant error.\n * @param name DNS encoded ENS name to query.\n * @param _addr The actual calldata.\n * @return result Result of the call.\n */\n function setAddr(\n bytes calldata name,\n address _addr\n ) external view returns (bytes memory result) {\n (, address target) = _getTarget(name, 0);\n _writeDeferral(target);\n }\n\n /**\n * @dev The `PublicResolver` does not implement the `resolve(bytes,bytes)` method.\n * This method completes the resolution request by staticcalling `PublicResolver` with the resolve request.\n * Implementation matches the ENS `ExtendedResolver:resolve(bytes,bytes)` method with the exception that it `staticcall`s the\n * the `rootResolver` instead of `address(this)`.\n * @param data The ABI encoded data for the underlying resolution function (Eg, addr(bytes32), text(bytes32,string), etc).\n * @return The return data, ABI encoded identically to the underlying function.\n */\n function _resolve(\n address baseNodeResolver,\n bytes memory data\n ) internal view returns (bytes memory) {\n (bool success, bytes memory result) = baseNodeResolver.staticcall(data);\n if (success) {\n return result;\n } else {\n // Revert with the reason provided by the call\n assembly {\n revert(add(result, 0x20), mload(result))\n }\n }\n }\n\n function _addr(\n uint256 tokenId,\n uint256 slot,\n address target\n ) private view returns (bytes memory) {\n EVMFetcher\n .newFetchRequest(verifier, target)\n .getStatic(slot)\n .element(tokenId)\n .fetch(this.addrCallback.selector, \"\"); // recordVersions\n }\n\n function addrCallback(\n bytes[] memory values,\n bytes memory\n ) external pure returns (bytes memory) {\n address addr = abi.decode(values[0], (address));\n return abi.encode(addr);\n }\n\n function supportsInterface(\n bytes4 interfaceId\n ) public view override returns (bool) {\n return\n interfaceId == type(IExtendedResolver).interfaceId ||\n interfaceId == type(ITargetResolver).interfaceId ||\n interfaceId == type(IAddrSetter).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function _writeDeferral(address target) internal view {\n revert StorageHandledByL2(l2ChainId, target);\n }\n}\n" + } + }, + "settings": { + "evmVersion": "paris", + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "errors": [ + { + "component": "general", + "errorCode": "1878", + "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> @ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\n\n", + "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", + "severity": "warning", + "sourceLocation": { + "end": -1, + "file": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "start": -1 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "3420", + "formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.25;\"\n--> @ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\n\n", + "message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.25;\"", + "severity": "warning", + "sourceLocation": { + "end": -1, + "file": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "start": -1 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2519", + "formattedMessage": "Warning: This declaration shadows an existing declaration.\n --> contracts/NFTResolver.sol:237:9:\n |\n237 | address _addr\n | ^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n --> contracts/NFTResolver.sol:266:5:\n |\n266 | function _addr(\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "This declaration shadows an existing declaration.", + "secondarySourceLocations": [ + { + "end": 10156, + "file": "contracts/NFTResolver.sol", + "message": "The shadowed declaration is here:", + "start": 9826 + } + ], + "severity": "warning", + "sourceLocation": { + "end": 8612, + "file": "contracts/NFTResolver.sol", + "start": 8599 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/NFTResolver.sol:237:9:\n |\n237 | address _addr\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 8612, + "file": "contracts/NFTResolver.sol", + "start": 8599 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/NFTResolver.sol:238:30:\n |\n238 | ) external view returns (bytes memory result) {\n | ^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 8661, + "file": "contracts/NFTResolver.sol", + "start": 8642 + }, + "type": "Warning" + } + ], + "sources": { + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "exportedSymbols": { + "Address": [ + 2987 + ], + "EVMFetchTarget": [ + 122 + ], + "IEVMVerifier": [ + 798 + ] + }, + "id": 123, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:0" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "./IEVMVerifier.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 123, + "sourceUnit": 799, + "src": "57:48:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "65:12:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "@openzeppelin/contracts/utils/Address.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 123, + "sourceUnit": 2988, + "src": "106:66:0", + "symbolAliases": [ + { + "foreign": { + "id": 4, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "114:7:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "EVMFetchTarget", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "174:185:0", + "text": " @dev Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must\n inherit from this contract in order to handle callbacks correctly." + }, + "fullyImplemented": false, + "id": 122, + "linearizedBaseContracts": [ + 122 + ], + "name": "EVMFetchTarget", + "nameLocation": "378:14:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 9, + "libraryName": { + "id": 7, + "name": "Address", + "nameLocations": [ + "405:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2987, + "src": "405:7:0" + }, + "nodeType": "UsingForDirective", + "src": "399:26:0", + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "417:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "errorSelector": "29189425", + "id": 15, + "name": "ResponseLengthMismatch", + "nameLocation": "437:22:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "actual", + "nameLocation": "468:6:0", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "460:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "460:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "expected", + "nameLocation": "484:8:0", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "476:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "476:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "459:34:0" + }, + "src": "431:63:0" + }, + { + "body": { + "id": 114, + "nodeType": "Block", + "src": "758:961:0", + "statements": [ + { + "assignments": [ + 26 + ], + "declarations": [ + { + "constant": false, + "id": 26, + "mutability": "mutable", + "name": "proof", + "nameLocation": "781:5:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "768:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 25, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "768:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 34, + "initialValue": { + "arguments": [ + { + "id": 29, + "name": "response", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "800:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "811:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 30, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "811:5:0", + "typeDescriptions": {} + } + } + ], + "id": 32, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "810:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + ], + "expression": { + "id": 27, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "789:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "793:6:0", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "789:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "789:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "768:50:0" + }, + { + "assignments": [ + 37, + 39, + 42, + 45, + 47, + 49 + ], + "declarations": [ + { + "constant": false, + "id": 37, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "855:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "842:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 36, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35, + "name": "IEVMVerifier", + "nameLocations": [ + "842:12:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "842:12:0" + }, + "referencedDeclaration": 798, + "src": "842:12:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "mutability": "mutable", + "name": "addr", + "nameLocation": "885:4:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "877:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 38, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "877:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "mutability": "mutable", + "name": "commands", + "nameLocation": "920:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "903:25:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 40, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 41, + "nodeType": "ArrayTypeName", + "src": "903:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "constants", + "nameLocation": "957:9:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "942:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 43, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "942:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 44, + "nodeType": "ArrayTypeName", + "src": "942:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "callback", + "nameLocation": "987:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "980:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 46, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "980:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 49, + "mutability": "mutable", + "name": "callbackData", + "nameLocation": "1022:12:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1009:25:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 48, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1009:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 68, + "initialValue": { + "arguments": [ + { + "id": 52, + "name": "extradata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1075:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 53, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "1103:12:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEVMVerifier_$798_$", + "typeString": "type(contract IEVMVerifier)" + } + }, + { + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1117:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 54, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1117:7:0", + "typeDescriptions": {} + } + }, + { + "baseExpression": { + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1126:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 56, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1126:7:0", + "typeDescriptions": {} + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1126:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "type(bytes32[] memory)" + } + }, + { + "baseExpression": { + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1137:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 59, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1137:5:0", + "typeDescriptions": {} + } + }, + "id": 61, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1137:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + }, + { + "id": 63, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1146:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 62, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1146:6:0", + "typeDescriptions": {} + } + }, + { + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1154:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 64, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1154:5:0", + "typeDescriptions": {} + } + } + ], + "id": 66, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1102:58:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_contract$_IEVMVerifier_$798_$_$_t_type$_t_address_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$", + "typeString": "tuple(type(contract IEVMVerifier),type(address),type(bytes32[] memory),type(bytes memory[] memory),type(bytes4),type(bytes storage pointer))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_contract$_IEVMVerifier_$798_$_$_t_type$_t_address_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$", + "typeString": "tuple(type(contract IEVMVerifier),type(address),type(bytes32[] memory),type(bytes memory[] memory),type(bytes4),type(bytes storage pointer))" + } + ], + "expression": { + "id": 50, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1047:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1051:6:0", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1047:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 67, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1047:127:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IEVMVerifier_$798_$_t_address_payable_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$", + "typeString": "tuple(contract IEVMVerifier,address payable,bytes32[] memory,bytes memory[] memory,bytes4,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "828:346:0" + }, + { + "assignments": [ + 73 + ], + "declarations": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "values", + "nameLocation": "1200:6:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1185:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 71, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1185:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 72, + "nodeType": "ArrayTypeName", + "src": "1185:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 83, + "initialValue": { + "arguments": [ + { + "id": 76, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "1248:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1266:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 78, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "1288:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 79, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "1311:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 80, + "name": "getAcceptedL2BlockRangeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1330:29:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1330:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "1209:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1218:16:0", + "memberName": "getStorageValues", + "nodeType": "MemberAccess", + "referencedDeclaration": 797, + "src": "1209:25:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (address,bytes32[] memory,bytes memory[] memory,bytes memory,uint256) view external returns (bytes memory[] memory)" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1209:162:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1185:186:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 84, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1386:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1393:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1386:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 86, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1403:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1412:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1403:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1386:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 97, + "nodeType": "IfStatement", + "src": "1382:124:0", + "trueBody": { + "id": 96, + "nodeType": "Block", + "src": "1420:86:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 90, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1464:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1471:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1464:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 92, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1479:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1488:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1479:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 89, + "name": "ResponseLengthMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "1441:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1441:54:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 95, + "nodeType": "RevertStatement", + "src": "1434:61:0" + } + ] + } + }, + { + "assignments": [ + 99 + ], + "declarations": [ + { + "constant": false, + "id": 99, + "mutability": "mutable", + "name": "ret", + "nameLocation": "1528:3:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1515:16:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 98, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 112, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 107, + "name": "callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47, + "src": "1597:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 108, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1607:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 109, + "name": "callbackData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "1615:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 105, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1574:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1578:18:0", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "1574:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1574:54:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 102, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1542:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EVMFetchTarget_$122", + "typeString": "contract EVMFetchTarget" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EVMFetchTarget_$122", + "typeString": "contract EVMFetchTarget" + } + ], + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1534:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1534:7:0", + "typeDescriptions": {} + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1534:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1548:12:0", + "memberName": "functionCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "1534:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1534:104:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1515:123:0" + }, + { + "AST": { + "nativeSrc": "1657:56:0", + "nodeType": "YulBlock", + "src": "1657:56:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ret", + "nativeSrc": "1682:3:0", + "nodeType": "YulIdentifier", + "src": "1682:3:0" + }, + { + "kind": "number", + "nativeSrc": "1687:2:0", + "nodeType": "YulLiteral", + "src": "1687:2:0", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1678:3:0", + "nodeType": "YulIdentifier", + "src": "1678:3:0" + }, + "nativeSrc": "1678:12:0", + "nodeType": "YulFunctionCall", + "src": "1678:12:0" + }, + { + "arguments": [ + { + "name": "ret", + "nativeSrc": "1698:3:0", + "nodeType": "YulIdentifier", + "src": "1698:3:0" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1692:5:0", + "nodeType": "YulIdentifier", + "src": "1692:5:0" + }, + "nativeSrc": "1692:10:0", + "nodeType": "YulFunctionCall", + "src": "1692:10:0" + } + ], + "functionName": { + "name": "return", + "nativeSrc": "1671:6:0", + "nodeType": "YulIdentifier", + "src": "1671:6:0" + }, + "nativeSrc": "1671:32:0", + "nodeType": "YulFunctionCall", + "src": "1671:32:0" + }, + "nativeSrc": "1671:32:0", + "nodeType": "YulExpressionStatement", + "src": "1671:32:0" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "1682:3:0", + "valueSize": 1 + }, + { + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "1698:3:0", + "valueSize": 1 + } + ], + "id": 113, + "nodeType": "InlineAssembly", + "src": "1648:65:0" + } + ] + }, + "documentation": { + "id": 16, + "nodeType": "StructuredDocumentation", + "src": "500:115:0", + "text": " @dev Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request." + }, + "functionSelector": "5bdaa916", + "id": 115, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStorageSlotsCallback", + "nameLocation": "629:23:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "response", + "nameLocation": "677:8:0", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "662:23:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 17, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "662:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20, + "mutability": "mutable", + "name": "extradata", + "nameLocation": "710:9:0", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "695:24:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 19, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "695:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "652:73:0" + }, + "returnParameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "744:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 22, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "744:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "743:14:0" + }, + "scope": 122, + "src": "620:1099:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 116, + "nodeType": "StructuredDocumentation", + "src": "1725:189:0", + "text": " @dev The child contract has to return an accepted L2 block range used by the verifier\n to verify that the block number verified is in the accepted block range." + }, + "functionSelector": "6d74e86e", + "id": 121, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAcceptedL2BlockRangeLength", + "nameLocation": "1928:29:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [], + "src": "1957:2:0" + }, + "returnParameters": { + "id": 120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121, + "src": "2021:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2020:9:0" + }, + "scope": 122, + "src": "1919:111:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 123, + "src": "360:1672:0", + "usedErrors": [ + 15 + ], + "usedEvents": [] + } + ], + "src": "31:2002:0" + }, + "id": 0 + }, + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "exportedSymbols": { + "Address": [ + 2987 + ], + "EVMFetchTarget": [ + 122 + ], + "EVMFetcher": [ + 771 + ], + "FLAG_DYNAMIC": [ + 147 + ], + "IEVMGateway": [ + 144 + ], + "IEVMVerifier": [ + 798 + ], + "OP_BACKREF": [ + 153 + ], + "OP_CONSTANT": [ + 150 + ], + "OP_END": [ + 156 + ] + }, + "id": 772, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 124, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:1" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "./IEVMVerifier.sol", + "id": 126, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 799, + "src": "57:48:1", + "symbolAliases": [ + { + "foreign": { + "id": 125, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "65:12:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "file": "./EVMFetchTarget.sol", + "id": 128, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 123, + "src": "106:52:1", + "symbolAliases": [ + { + "foreign": { + "id": 127, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "114:14:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "@openzeppelin/contracts/utils/Address.sol", + "id": 130, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 2988, + "src": "159:66:1", + "symbolAliases": [ + { + "foreign": { + "id": 129, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "167:7:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IEVMGateway", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 144, + "linearizedBaseContracts": [ + 144 + ], + "name": "IEVMGateway", + "nameLocation": "237:11:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "ea9cd3bf", + "id": 143, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStorageSlots", + "nameLocation": "264:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 132, + "mutability": "mutable", + "name": "addr", + "nameLocation": "297:4:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "289:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "289:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 135, + "mutability": "mutable", + "name": "commands", + "nameLocation": "328:8:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "311:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "311:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 134, + "nodeType": "ArrayTypeName", + "src": "311:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "constants", + "nameLocation": "361:9:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "346:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 136, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "346:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 137, + "nodeType": "ArrayTypeName", + "src": "346:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "279:97:1" + }, + "returnParameters": { + "id": 142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "witness", + "nameLocation": "413:7:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "400:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "400:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "399:22:1" + }, + "scope": 144, + "src": "255:167:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "scope": 772, + "src": "227:197:1", + "usedErrors": [], + "usedEvents": [] + }, + { + "constant": true, + "id": 147, + "mutability": "constant", + "name": "FLAG_DYNAMIC", + "nameLocation": "441:12:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "426:34:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 145, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "426:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783031", + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "456:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 150, + "mutability": "constant", + "name": "OP_CONSTANT", + "nameLocation": "477:11:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "462:33:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 148, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "462:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783030", + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 153, + "mutability": "constant", + "name": "OP_BACKREF", + "nameLocation": "512:10:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "497:32:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 151, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "497:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783230", + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "525:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 156, + "mutability": "constant", + "name": "OP_END", + "nameLocation": "546:6:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "531:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 154, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "531:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30786666", + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xff" + }, + "visibility": "internal" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "EVMFetcher", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 157, + "nodeType": "StructuredDocumentation", + "src": "562:176:1", + "text": " @dev A library to facilitate requesting storage data proofs from contracts, possibly on a different chain.\n See l1-verifier/test/TestL1.sol for example usage." + }, + "fullyImplemented": true, + "id": 771, + "linearizedBaseContracts": [ + 771 + ], + "name": "EVMFetcher", + "nameLocation": "747:10:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 160, + "mutability": "constant", + "name": "MAX_COMMANDS", + "nameLocation": "781:12:1", + "nodeType": "VariableDeclaration", + "scope": 771, + "src": "764:34:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "764:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3332", + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "796:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 163, + "mutability": "constant", + "name": "MAX_CONSTANTS", + "nameLocation": "821:13:1", + "nodeType": "VariableDeclaration", + "scope": 771, + "src": "804:35:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "804:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3332", + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "837:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "global": false, + "id": 166, + "libraryName": { + "id": 164, + "name": "Address", + "nameLocations": [ + "883:7:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2987, + "src": "883:7:1" + }, + "nodeType": "UsingForDirective", + "src": "877:26:1", + "typeName": { + "id": 165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "895:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "errorSelector": "128e7008", + "id": 170, + "name": "TooManyCommands", + "nameLocation": "915:15:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "max", + "nameLocation": "939:3:1", + "nodeType": "VariableDeclaration", + "scope": 170, + "src": "931:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "931:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "930:13:1" + }, + "src": "909:35:1" + }, + { + "errorSelector": "b00fd638", + "id": 172, + "name": "CommandTooLong", + "nameLocation": "955:14:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:2:1" + }, + "src": "949:23:1" + }, + { + "errorSelector": "101586e0", + "id": 178, + "name": "InvalidReference", + "nameLocation": "983:16:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 174, + "mutability": "mutable", + "name": "value", + "nameLocation": "1008:5:1", + "nodeType": "VariableDeclaration", + "scope": 178, + "src": "1000:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 173, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "max", + "nameLocation": "1023:3:1", + "nodeType": "VariableDeclaration", + "scope": 178, + "src": "1015:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1015:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "999:28:1" + }, + "src": "977:51:1" + }, + { + "errorSelector": "556f1830", + "id": 191, + "name": "OffchainLookup", + "nameLocation": "1039:14:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 180, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1071:6:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1063:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1063:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 183, + "mutability": "mutable", + "name": "urls", + "nameLocation": "1096:4:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1087:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1087:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 182, + "nodeType": "ArrayTypeName", + "src": "1087:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 185, + "mutability": "mutable", + "name": "callData", + "nameLocation": "1116:8:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1110:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 184, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1110:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 187, + "mutability": "mutable", + "name": "callbackFunction", + "nameLocation": "1141:16:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1134:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 186, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1134:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 189, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "1173:9:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1167:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 188, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1167:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1053:135:1" + }, + "src": "1033:156:1" + }, + { + "canonicalName": "EVMFetcher.EVMFetchRequest", + "id": 205, + "members": [ + { + "constant": false, + "id": 194, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "1241:8:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1228:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 193, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 192, + "name": "IEVMVerifier", + "nameLocations": [ + "1228:12:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1228:12:1" + }, + "referencedDeclaration": 798, + "src": "1228:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 196, + "mutability": "mutable", + "name": "target", + "nameLocation": "1267:6:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1259:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1259:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 199, + "mutability": "mutable", + "name": "commands", + "nameLocation": "1293:8:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1283:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 197, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1283:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 198, + "nodeType": "ArrayTypeName", + "src": "1283:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 201, + "mutability": "mutable", + "name": "operationIdx", + "nameLocation": "1319:12:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1311:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1311:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "constants", + "nameLocation": "1349:9:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1341:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 202, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1341:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 203, + "nodeType": "ArrayTypeName", + "src": "1341:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "name": "EVMFetchRequest", + "nameLocation": "1202:15:1", + "nodeType": "StructDefinition", + "scope": 771, + "src": "1195:170:1", + "visibility": "public" + }, + { + "body": { + "id": 248, + "nodeType": "Block", + "src": "1958:336:1", + "statements": [ + { + "assignments": [ + 221 + ], + "declarations": [ + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "commands", + "nameLocation": "1985:8:1", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "1968:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 219, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1968:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 220, + "nodeType": "ArrayTypeName", + "src": "1968:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 227, + "initialValue": { + "arguments": [ + { + "id": 225, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "2010:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1996:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2000:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 223, + "nodeType": "ArrayTypeName", + "src": "2000:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1996:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1968:55:1" + }, + { + "assignments": [ + 232 + ], + "declarations": [ + { + "constant": false, + "id": 232, + "mutability": "mutable", + "name": "constants", + "nameLocation": "2048:9:1", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "2033:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 230, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2033:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 231, + "nodeType": "ArrayTypeName", + "src": "2033:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 238, + "initialValue": { + "arguments": [ + { + "id": 236, + "name": "MAX_CONSTANTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "2072:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2060:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 233, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2064:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 234, + "nodeType": "ArrayTypeName", + "src": "2064:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2060:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2033:53:1" + }, + { + "AST": { + "nativeSrc": "2105:109:1", + "nodeType": "YulBlock", + "src": "2105:109:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "2126:8:1", + "nodeType": "YulIdentifier", + "src": "2126:8:1" + }, + { + "kind": "number", + "nativeSrc": "2136:1:1", + "nodeType": "YulLiteral", + "src": "2136:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2119:6:1", + "nodeType": "YulIdentifier", + "src": "2119:6:1" + }, + "nativeSrc": "2119:19:1", + "nodeType": "YulFunctionCall", + "src": "2119:19:1" + }, + "nativeSrc": "2119:19:1", + "nodeType": "YulExpressionStatement", + "src": "2119:19:1" + }, + { + "expression": { + "arguments": [ + { + "name": "constants", + "nativeSrc": "2191:9:1", + "nodeType": "YulIdentifier", + "src": "2191:9:1" + }, + { + "kind": "number", + "nativeSrc": "2202:1:1", + "nodeType": "YulLiteral", + "src": "2202:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2184:6:1", + "nodeType": "YulIdentifier", + "src": "2184:6:1" + }, + "nativeSrc": "2184:20:1", + "nodeType": "YulFunctionCall", + "src": "2184:20:1" + }, + "nativeSrc": "2184:20:1", + "nodeType": "YulExpressionStatement", + "src": "2184:20:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 221, + "isOffset": false, + "isSlot": false, + "src": "2126:8:1", + "valueSize": 1 + }, + { + "declaration": 232, + "isOffset": false, + "isSlot": false, + "src": "2191:9:1", + "valueSize": 1 + } + ], + "id": 239, + "nodeType": "InlineAssembly", + "src": "2096:118:1" + }, + { + "expression": { + "arguments": [ + { + "id": 241, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2246:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "id": 242, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "2256:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 243, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "2264:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "hexValue": "30", + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2274:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 245, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "2277:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + ], + "id": 240, + "name": "EVMFetchRequest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "2230:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_EVMFetchRequest_$205_storage_ptr_$", + "typeString": "type(struct EVMFetcher.EVMFetchRequest storage pointer)" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2230:57:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 216, + "id": 247, + "nodeType": "Return", + "src": "2223:64:1" + } + ] + }, + "documentation": { + "id": 206, + "nodeType": "StructuredDocumentation", + "src": "1371:449:1", + "text": " @dev Creates a request to fetch the value of multiple storage slots from a contract via CCIP-Read, possibly from\n another chain.\n Supports dynamic length values and slot numbers derived from other retrieved values.\n @param verifier An instance of a verifier contract that can provide and verify the storage slot information.\n @param target The address of the contract to fetch storage proofs for." + }, + "id": 249, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "newFetchRequest", + "nameLocation": "1834:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "1872:8:1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1859:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 208, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 207, + "name": "IEVMVerifier", + "nameLocations": [ + "1859:12:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1859:12:1" + }, + "referencedDeclaration": 798, + "src": "1859:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "mutability": "mutable", + "name": "target", + "nameLocation": "1898:6:1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1890:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1890:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1849:61:1" + }, + "returnParameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 215, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1934:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 214, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 213, + "name": "EVMFetchRequest", + "nameLocations": [ + "1934:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "1934:15:1" + }, + "referencedDeclaration": 205, + "src": "1934:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "1933:24:1" + }, + "scope": 771, + "src": "1825:469:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 325, + "nodeType": "Block", + "src": "2882:658:1", + "statements": [ + { + "assignments": [ + 265 + ], + "declarations": [ + { + "constant": false, + "id": 265, + "mutability": "mutable", + "name": "commands", + "nameLocation": "2909:8:1", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2892:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 263, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2892:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 264, + "nodeType": "ArrayTypeName", + "src": "2892:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 268, + "initialValue": { + "expression": { + "id": 266, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "2920:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "2920:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2892:44:1" + }, + { + "assignments": [ + 270 + ], + "declarations": [ + { + "constant": false, + "id": 270, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "2954:10:1", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2946:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2946:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 273, + "initialValue": { + "expression": { + "id": 271, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2967:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2976:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2967:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:36:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 274, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "2996:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3009:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2996:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 277, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3014:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3022:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "3014:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3037:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3014:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2996:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 288, + "nodeType": "IfStatement", + "src": "2992:146:1", + "trueBody": { + "id": 287, + "nodeType": "Block", + "src": "3041:97:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 283, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3111:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 284, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "3120:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 282, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3097:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3097:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 286, + "nodeType": "ExpressionStatement", + "src": "3097:30:1" + } + ] + } + }, + { + "AST": { + "nativeSrc": "3156:94:1", + "nodeType": "YulBlock", + "src": "3156:94:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "3177:8:1", + "nodeType": "YulIdentifier", + "src": "3177:8:1" + }, + { + "arguments": [ + { + "name": "commandIdx", + "nativeSrc": "3191:10:1", + "nodeType": "YulIdentifier", + "src": "3191:10:1" + }, + { + "kind": "number", + "nativeSrc": "3203:1:1", + "nodeType": "YulLiteral", + "src": "3203:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3187:3:1", + "nodeType": "YulIdentifier", + "src": "3187:3:1" + }, + "nativeSrc": "3187:18:1", + "nodeType": "YulFunctionCall", + "src": "3187:18:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3170:6:1", + "nodeType": "YulIdentifier", + "src": "3170:6:1" + }, + "nativeSrc": "3170:36:1", + "nodeType": "YulFunctionCall", + "src": "3170:36:1" + }, + "nativeSrc": "3170:36:1", + "nodeType": "YulExpressionStatement", + "src": "3170:36:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 270, + "isOffset": false, + "isSlot": false, + "src": "3191:10:1", + "valueSize": 1 + }, + { + "declaration": 265, + "isOffset": false, + "isSlot": false, + "src": "3177:8:1", + "valueSize": 1 + } + ], + "id": 289, + "nodeType": "InlineAssembly", + "src": "3147:103:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 290, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3263:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3271:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "3263:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3280:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3263:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 293, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "3289:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3263:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 300, + "nodeType": "IfStatement", + "src": "3259:105:1", + "trueBody": { + "id": 299, + "nodeType": "Block", + "src": "3303:61:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 296, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "3340:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 295, + "name": "TooManyCommands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 170, + "src": "3324:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3324:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 298, + "nodeType": "RevertStatement", + "src": "3317:36:1" + } + ] + } + }, + { + "expression": { + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 301, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3381:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "3373:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3396:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3373:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 306, + "nodeType": "ExpressionStatement", + "src": "3373:24:1" + }, + { + "expression": { + "arguments": [ + { + "id": 308, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3421:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "hexValue": "30", + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3430:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 307, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3407:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3407:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 311, + "nodeType": "ExpressionStatement", + "src": "3407:25:1" + }, + { + "expression": { + "arguments": [ + { + "id": 313, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3456:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 315, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3478:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 318, + "name": "baseSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 255, + "src": "3498:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 316, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3487:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3491:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3487:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3487:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 314, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "3465:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3465:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 312, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3442:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3442:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 322, + "nodeType": "ExpressionStatement", + "src": "3442:67:1" + }, + { + "expression": { + "id": 323, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3526:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 260, + "id": 324, + "nodeType": "Return", + "src": "3519:14:1" + } + ] + }, + "documentation": { + "id": 250, + "nodeType": "StructuredDocumentation", + "src": "2300:439:1", + "text": " @dev Starts describing a new fetch request.\n Paths specify a series of hashing operations to derive the final slot ID.\n See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n lays out storage variables.\n @param request The request object being operated on.\n @param baseSlot The base slot ID that forms the root of the path." + }, + "id": 326, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStatic", + "nameLocation": "2753:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 253, + "mutability": "mutable", + "name": "request", + "nameLocation": "2795:7:1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2772:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 252, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 251, + "name": "EVMFetchRequest", + "nameLocations": [ + "2772:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "2772:15:1" + }, + "referencedDeclaration": 205, + "src": "2772:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "baseSlot", + "nameLocation": "2820:8:1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2812:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2812:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2762:72:1" + }, + "returnParameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2858:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 258, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 257, + "name": "EVMFetchRequest", + "nameLocations": [ + "2858:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "2858:15:1" + }, + "referencedDeclaration": 205, + "src": "2858:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "2857:24:1" + }, + "scope": 771, + "src": "2744:796:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 402, + "nodeType": "Block", + "src": "4129:669:1", + "statements": [ + { + "assignments": [ + 342 + ], + "declarations": [ + { + "constant": false, + "id": 342, + "mutability": "mutable", + "name": "commands", + "nameLocation": "4156:8:1", + "nodeType": "VariableDeclaration", + "scope": 402, + "src": "4139:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4139:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 341, + "nodeType": "ArrayTypeName", + "src": "4139:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 345, + "initialValue": { + "expression": { + "id": 343, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4175:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "4167:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4139:44:1" + }, + { + "assignments": [ + 347 + ], + "declarations": [ + { + "constant": false, + "id": 347, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "4201:10:1", + "nodeType": "VariableDeclaration", + "scope": 402, + "src": "4193:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4193:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 350, + "initialValue": { + "expression": { + "id": 348, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "4214:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4223:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4214:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4193:36:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 351, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "4243:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4256:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4243:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 354, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4261:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4269:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4261:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4284:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4261:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4243:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 365, + "nodeType": "IfStatement", + "src": "4239:146:1", + "trueBody": { + "id": 364, + "nodeType": "Block", + "src": "4288:97:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 360, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4358:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 361, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "4367:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 359, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4344:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4344:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 363, + "nodeType": "ExpressionStatement", + "src": "4344:30:1" + } + ] + } + }, + { + "AST": { + "nativeSrc": "4403:94:1", + "nodeType": "YulBlock", + "src": "4403:94:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "4424:8:1", + "nodeType": "YulIdentifier", + "src": "4424:8:1" + }, + { + "arguments": [ + { + "name": "commandIdx", + "nativeSrc": "4438:10:1", + "nodeType": "YulIdentifier", + "src": "4438:10:1" + }, + { + "kind": "number", + "nativeSrc": "4450:1:1", + "nodeType": "YulLiteral", + "src": "4450:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4434:3:1", + "nodeType": "YulIdentifier", + "src": "4434:3:1" + }, + "nativeSrc": "4434:18:1", + "nodeType": "YulFunctionCall", + "src": "4434:18:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4417:6:1", + "nodeType": "YulIdentifier", + "src": "4417:6:1" + }, + "nativeSrc": "4417:36:1", + "nodeType": "YulFunctionCall", + "src": "4417:36:1" + }, + "nativeSrc": "4417:36:1", + "nodeType": "YulExpressionStatement", + "src": "4417:36:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 347, + "isOffset": false, + "isSlot": false, + "src": "4438:10:1", + "valueSize": 1 + }, + { + "declaration": 342, + "isOffset": false, + "isSlot": false, + "src": "4424:8:1", + "valueSize": 1 + } + ], + "id": 366, + "nodeType": "InlineAssembly", + "src": "4394:103:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 367, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4510:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4518:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "4510:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4527:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4510:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 370, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "4536:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4510:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 377, + "nodeType": "IfStatement", + "src": "4506:105:1", + "trueBody": { + "id": 376, + "nodeType": "Block", + "src": "4550:61:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 373, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "4587:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 372, + "name": "TooManyCommands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 170, + "src": "4571:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4571:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 375, + "nodeType": "RevertStatement", + "src": "4564:36:1" + } + ] + } + }, + { + "expression": { + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 378, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4620:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4628:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4620:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4643:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4620:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 383, + "nodeType": "ExpressionStatement", + "src": "4620:24:1" + }, + { + "expression": { + "arguments": [ + { + "id": 385, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4668:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 386, + "name": "FLAG_DYNAMIC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "4677:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 384, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4654:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4654:36:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 388, + "nodeType": "ExpressionStatement", + "src": "4654:36:1" + }, + { + "expression": { + "arguments": [ + { + "id": 390, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4714:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 392, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4736:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 395, + "name": "baseSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "4756:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 393, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4745:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4749:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4745:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4745:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 391, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "4723:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4723:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 389, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4700:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4700:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 399, + "nodeType": "ExpressionStatement", + "src": "4700:67:1" + }, + { + "expression": { + "id": 400, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4784:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 337, + "id": 401, + "nodeType": "Return", + "src": "4777:14:1" + } + ] + }, + "documentation": { + "id": 327, + "nodeType": "StructuredDocumentation", + "src": "3546:439:1", + "text": " @dev Starts describing a new fetch request.\n Paths specify a series of hashing operations to derive the final slot ID.\n See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n lays out storage variables.\n @param request The request object being operated on.\n @param baseSlot The base slot ID that forms the root of the path." + }, + "id": 403, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDynamic", + "nameLocation": "3999:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 330, + "mutability": "mutable", + "name": "request", + "nameLocation": "4042:7:1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4019:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 329, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 328, + "name": "EVMFetchRequest", + "nameLocations": [ + "4019:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "4019:15:1" + }, + "referencedDeclaration": 205, + "src": "4019:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "baseSlot", + "nameLocation": "4067:8:1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4059:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4059:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4009:72:1" + }, + "returnParameters": { + "id": 337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 336, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4105:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 335, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 334, + "name": "EVMFetchRequest", + "nameLocations": [ + "4105:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "4105:15:1" + }, + "referencedDeclaration": 205, + "src": "4105:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "4104:24:1" + }, + "scope": 771, + "src": "3990:808:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 437, + "nodeType": "Block", + "src": "5105:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 415, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5119:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5127:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "5119:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5143:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5119:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 423, + "nodeType": "IfStatement", + "src": "5115:80:1", + "trueBody": { + "id": 422, + "nodeType": "Block", + "src": "5147:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 419, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "5168:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5168:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 421, + "nodeType": "RevertStatement", + "src": "5161:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 425, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5218:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 427, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5240:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 430, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 409, + "src": "5260:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 428, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5249:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5253:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5249:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5249:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 426, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "5227:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5227:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 424, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "5204:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5204:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 434, + "nodeType": "ExpressionStatement", + "src": "5204:61:1" + }, + { + "expression": { + "id": 435, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5282:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 414, + "id": 436, + "nodeType": "Return", + "src": "5275:14:1" + } + ] + }, + "documentation": { + "id": 404, + "nodeType": "StructuredDocumentation", + "src": "4804:166:1", + "text": " @dev Adds a `uint256` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 438, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "4984:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 407, + "mutability": "mutable", + "name": "request", + "nameLocation": "5024:7:1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5001:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 405, + "name": "EVMFetchRequest", + "nameLocations": [ + "5001:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5001:15:1" + }, + "referencedDeclaration": 205, + "src": "5001:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 409, + "mutability": "mutable", + "name": "el", + "nameLocation": "5049:2:1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5041:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5041:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4991:66:1" + }, + "returnParameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 413, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5081:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 412, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 411, + "name": "EVMFetchRequest", + "nameLocations": [ + "5081:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5081:15:1" + }, + "referencedDeclaration": 205, + "src": "5081:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "5080:24:1" + }, + "scope": 771, + "src": "4975:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 472, + "nodeType": "Block", + "src": "5603:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 450, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 451, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5625:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "5617:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5641:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5617:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 458, + "nodeType": "IfStatement", + "src": "5613:80:1", + "trueBody": { + "id": 457, + "nodeType": "Block", + "src": "5645:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 454, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "5666:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5666:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 456, + "nodeType": "RevertStatement", + "src": "5659:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 460, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5716:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 462, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5738:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 465, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 444, + "src": "5758:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 463, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5747:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5751:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5747:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5747:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 461, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "5725:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5725:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 459, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "5702:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5702:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 469, + "nodeType": "ExpressionStatement", + "src": "5702:61:1" + }, + { + "expression": { + "id": 470, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5780:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 449, + "id": 471, + "nodeType": "Return", + "src": "5773:14:1" + } + ] + }, + "documentation": { + "id": 439, + "nodeType": "StructuredDocumentation", + "src": "5302:166:1", + "text": " @dev Adds a `bytes32` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 473, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "5482:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 442, + "mutability": "mutable", + "name": "request", + "nameLocation": "5522:7:1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5499:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 441, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 440, + "name": "EVMFetchRequest", + "nameLocations": [ + "5499:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5499:15:1" + }, + "referencedDeclaration": 205, + "src": "5499:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 444, + "mutability": "mutable", + "name": "el", + "nameLocation": "5547:2:1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5539:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 443, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5539:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5489:66:1" + }, + "returnParameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 448, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5579:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 447, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 446, + "name": "EVMFetchRequest", + "nameLocations": [ + "5579:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5579:15:1" + }, + "referencedDeclaration": 205, + "src": "5579:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "5578:24:1" + }, + "scope": 771, + "src": "5473:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 507, + "nodeType": "Block", + "src": "6102:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 485, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6116:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6124:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6116:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6140:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6116:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 493, + "nodeType": "IfStatement", + "src": "6112:80:1", + "trueBody": { + "id": 492, + "nodeType": "Block", + "src": "6144:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 489, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "6165:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6165:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 491, + "nodeType": "RevertStatement", + "src": "6158:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 495, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6215:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 497, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6237:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 500, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "6257:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 498, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6246:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6250:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "6246:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6246:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 496, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "6224:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6224:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 494, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "6201:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6201:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 504, + "nodeType": "ExpressionStatement", + "src": "6201:61:1" + }, + { + "expression": { + "id": 505, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6279:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 484, + "id": 506, + "nodeType": "Return", + "src": "6272:14:1" + } + ] + }, + "documentation": { + "id": 474, + "nodeType": "StructuredDocumentation", + "src": "5800:167:1", + "text": " @dev Adds an `address` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 508, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "5981:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "request", + "nameLocation": "6021:7:1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "5998:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 476, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 475, + "name": "EVMFetchRequest", + "nameLocations": [ + "5998:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5998:15:1" + }, + "referencedDeclaration": 205, + "src": "5998:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 479, + "mutability": "mutable", + "name": "el", + "nameLocation": "6046:2:1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "6038:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6038:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5988:66:1" + }, + "returnParameters": { + "id": 484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "6078:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 482, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 481, + "name": "EVMFetchRequest", + "nameLocations": [ + "6078:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6078:15:1" + }, + "referencedDeclaration": 205, + "src": "6078:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "6077:24:1" + }, + "scope": 771, + "src": "5972:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 539, + "nodeType": "Block", + "src": "6603:179:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 520, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6625:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6617:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6641:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6617:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 528, + "nodeType": "IfStatement", + "src": "6613:80:1", + "trueBody": { + "id": 527, + "nodeType": "Block", + "src": "6645:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 524, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "6666:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6666:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 526, + "nodeType": "RevertStatement", + "src": "6659:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 530, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6716:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 532, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6738:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 533, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "6747:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 531, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "6725:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6725:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 529, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "6702:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6702:49:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 536, + "nodeType": "ExpressionStatement", + "src": "6702:49:1" + }, + { + "expression": { + "id": 537, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6768:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 519, + "id": 538, + "nodeType": "Return", + "src": "6761:14:1" + } + ] + }, + "documentation": { + "id": 509, + "nodeType": "StructuredDocumentation", + "src": "6299:164:1", + "text": " @dev Adds a `bytes` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 540, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "6477:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 512, + "mutability": "mutable", + "name": "request", + "nameLocation": "6517:7:1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6494:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 510, + "name": "EVMFetchRequest", + "nameLocations": [ + "6494:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6494:15:1" + }, + "referencedDeclaration": 205, + "src": "6494:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 514, + "mutability": "mutable", + "name": "el", + "nameLocation": "6547:2:1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6534:15:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 513, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6534:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6484:71:1" + }, + "returnParameters": { + "id": 519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 518, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6579:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 517, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 516, + "name": "EVMFetchRequest", + "nameLocations": [ + "6579:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6579:15:1" + }, + "referencedDeclaration": 205, + "src": "6579:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "6578:24:1" + }, + "scope": 771, + "src": "6468:314:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 574, + "nodeType": "Block", + "src": "7094:186:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 552, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7108:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7116:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "7108:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7132:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "7108:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 560, + "nodeType": "IfStatement", + "src": "7104:80:1", + "trueBody": { + "id": 559, + "nodeType": "Block", + "src": "7136:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 556, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "7157:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7157:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 558, + "nodeType": "RevertStatement", + "src": "7150:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 562, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7207:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 564, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7229:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 567, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 546, + "src": "7244:2:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7238:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 565, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7238:5:1", + "typeDescriptions": {} + } + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7238:9:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 563, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "7216:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7216:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 561, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "7193:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7193:56:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 571, + "nodeType": "ExpressionStatement", + "src": "7193:56:1" + }, + { + "expression": { + "id": 572, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 551, + "id": 573, + "nodeType": "Return", + "src": "7259:14:1" + } + ] + }, + "documentation": { + "id": 541, + "nodeType": "StructuredDocumentation", + "src": "6788:165:1", + "text": " @dev Adds a `string` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 575, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "6967:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 544, + "mutability": "mutable", + "name": "request", + "nameLocation": "7007:7:1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "6984:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 542, + "name": "EVMFetchRequest", + "nameLocations": [ + "6984:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6984:15:1" + }, + "referencedDeclaration": 205, + "src": "6984:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 546, + "mutability": "mutable", + "name": "el", + "nameLocation": "7038:2:1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "7024:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7024:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6974:72:1" + }, + "returnParameters": { + "id": 551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 550, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "7070:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 549, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 548, + "name": "EVMFetchRequest", + "nameLocations": [ + "7070:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7070:15:1" + }, + "referencedDeclaration": 205, + "src": "7070:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "7069:24:1" + }, + "scope": 771, + "src": "6958:322:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 623, + "nodeType": "Block", + "src": "7631:304:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 587, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7645:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7653:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "7645:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7669:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "7645:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 595, + "nodeType": "IfStatement", + "src": "7641:80:1", + "trueBody": { + "id": 594, + "nodeType": "Block", + "src": "7673:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 591, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "7694:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7694:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 593, + "nodeType": "RevertStatement", + "src": "7687:23:1" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 596, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7734:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "expression": { + "id": 597, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7740:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7748:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "7740:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7757:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7740:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7734:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 601, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7767:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3331", + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7773:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "src": "7767:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7734:41:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 613, + "nodeType": "IfStatement", + "src": "7730:125:1", + "trueBody": { + "id": 612, + "nodeType": "Block", + "src": "7777:78:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 606, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7815:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "expression": { + "id": 607, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7820:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 608, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7828:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "7820:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7837:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7820:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 605, + "name": "InvalidReference", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "7798:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7798:46:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 611, + "nodeType": "RevertStatement", + "src": "7791:53:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 615, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7878:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 616, + "name": "OP_BACKREF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "7887:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 617, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7900:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "7887:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 614, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "7864:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7864:40:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 620, + "nodeType": "ExpressionStatement", + "src": "7864:40:1" + }, + { + "expression": { + "id": 621, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7921:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 586, + "id": 622, + "nodeType": "Return", + "src": "7914:14:1" + } + ] + }, + "documentation": { + "id": 576, + "nodeType": "StructuredDocumentation", + "src": "7286:215:1", + "text": " @dev Adds a reference to a previous fetch to the current path.\n @param request The request object being operated on.\n @param idx The index of the previous fetch request, starting at 0." + }, + "id": 624, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ref", + "nameLocation": "7515:3:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 579, + "mutability": "mutable", + "name": "request", + "nameLocation": "7551:7:1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7528:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 578, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 577, + "name": "EVMFetchRequest", + "nameLocations": [ + "7528:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7528:15:1" + }, + "referencedDeclaration": 205, + "src": "7528:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "idx", + "nameLocation": "7574:3:1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7568:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 580, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7568:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "7518:65:1" + }, + "returnParameters": { + "id": 586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 585, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7607:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 584, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 583, + "name": "EVMFetchRequest", + "nameLocations": [ + "7607:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7607:15:1" + }, + "referencedDeclaration": 205, + "src": "7607:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "7606:24:1" + }, + "scope": 771, + "src": "7506:429:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 691, + "nodeType": "Block", + "src": "8787:734:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 635, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8801:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8809:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "8801:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8818:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8801:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8827:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8801:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 640, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8832:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8840:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "8832:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8855:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "8832:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8801:56:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 651, + "nodeType": "IfStatement", + "src": "8797:155:1", + "trueBody": { + "id": 650, + "nodeType": "Block", + "src": "8859:93:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 646, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8925:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 647, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "8934:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 645, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "8911:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8911:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 649, + "nodeType": "ExpressionStatement", + "src": "8911:30:1" + } + ] + } + }, + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "id": 655, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "9005:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EVMFetcher_$771", + "typeString": "library EVMFetcher" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EVMFetcher_$771", + "typeString": "library EVMFetcher" + } + ], + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8997:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8997:7:1", + "typeDescriptions": {} + } + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8997:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 657, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9024:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9032:8:1", + "memberName": "verifier", + "nodeType": "MemberAccess", + "referencedDeclaration": 194, + "src": "9024:16:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9041:11:1", + "memberName": "gatewayURLs", + "nodeType": "MemberAccess", + "referencedDeclaration": 779, + "src": "9024:28:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9024:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 663, + "name": "IEVMGateway", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "9100:11:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEVMGateway_$144_$", + "typeString": "type(contract IEVMGateway)" + } + }, + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9112:15:1", + "memberName": "getStorageSlots", + "nodeType": "MemberAccess", + "referencedDeclaration": 143, + "src": "9100:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_pure$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function IEVMGateway.getStorageSlots(address,bytes32[] memory,bytes memory[] memory) pure returns (bytes memory)" + } + }, + { + "components": [ + { + "expression": { + "id": 665, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9146:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9154:6:1", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 196, + "src": "9146:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 667, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9162:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9170:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "9162:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "expression": { + "id": 669, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9180:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9188:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9180:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + } + ], + "id": 671, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9145:53:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "tuple(address,bytes32[] memory,bytes memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_pure$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function IEVMGateway.getStorageSlots(address,bytes32[] memory,bytes memory[] memory) pure returns (bytes memory)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "tuple(address,bytes32[] memory,bytes memory[] memory)" + } + ], + "expression": { + "id": 661, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9068:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9072:10:1", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "9068:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9068:144:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "expression": { + "id": 673, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "9226:14:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EVMFetchTarget_$122_$", + "typeString": "type(contract EVMFetchTarget)" + } + }, + "id": 674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9241:23:1", + "memberName": "getStorageSlotsCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 115, + "src": "9226:38:1", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function EVMFetchTarget.getStorageSlotsCallback(bytes calldata,bytes calldata) returns (bytes memory)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9265:8:1", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "9226:47:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "expression": { + "id": 678, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9315:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9323:8:1", + "memberName": "verifier", + "nodeType": "MemberAccess", + "referencedDeclaration": 194, + "src": "9315:16:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "expression": { + "id": 680, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9349:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9357:6:1", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 196, + "src": "9349:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 682, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9381:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 683, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9389:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "9381:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "expression": { + "id": 684, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9415:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9423:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9415:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 686, + "name": "callbackId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "9450:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 687, + "name": "callbackData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "9478:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 676, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9287:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9291:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "9287:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9287:217:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 652, + "name": "OffchainLookup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 191, + "src": "8969:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,string memory[] memory,bytes memory,bytes4,bytes memory) pure" + } + }, + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8969:545:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 690, + "nodeType": "RevertStatement", + "src": "8962:552:1" + } + ] + }, + "documentation": { + "id": 625, + "nodeType": "StructuredDocumentation", + "src": "7941:704:1", + "text": " @dev Initiates the fetch request.\n Calling this function terminates execution; clients that implement CCIP-Read will make a callback to\n `callback` with the results of the operation.\n @param callbackId A callback function selector on this contract that will be invoked via CCIP-Read with the result of the lookup.\n The function must have a signature matching `(bytes[] memory values, bytes callbackData)` with a return type matching the call in which\n this function was invoked. Its return data will be returned as the return value of the entire CCIP-read operation.\n @param callbackData Extra data to supply to the callback." + }, + "id": 692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fetch", + "nameLocation": "8659:5:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "mutability": "mutable", + "name": "request", + "nameLocation": "8697:7:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8674:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 627, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 626, + "name": "EVMFetchRequest", + "nameLocations": [ + "8674:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "8674:15:1" + }, + "referencedDeclaration": 205, + "src": "8674:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "callbackId", + "nameLocation": "8721:10:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8714:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 629, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8714:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 632, + "mutability": "mutable", + "name": "callbackData", + "nameLocation": "8754:12:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8741:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 631, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8741:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8664:108:1" + }, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "8787:0:1" + }, + "scope": 771, + "src": "8650:871:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 725, + "nodeType": "Block", + "src": "9656:239:1", + "statements": [ + { + "assignments": [ + 706 + ], + "declarations": [ + { + "constant": false, + "id": 706, + "mutability": "mutable", + "name": "constants", + "nameLocation": "9681:9:1", + "nodeType": "VariableDeclaration", + "scope": 725, + "src": "9666:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 704, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9666:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 705, + "nodeType": "ArrayTypeName", + "src": "9666:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 709, + "initialValue": { + "expression": { + "id": 707, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "9693:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9701:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9693:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9666:44:1" + }, + { + "expression": { + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 710, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 700, + "src": "9720:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 713, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "9732:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9742:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9732:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9726:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 711, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9726:5:1", + "typeDescriptions": {} + } + }, + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9726:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "9720:29:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 717, + "nodeType": "ExpressionStatement", + "src": "9720:29:1" + }, + { + "AST": { + "nativeSrc": "9768:89:1", + "nodeType": "YulBlock", + "src": "9768:89:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "constants", + "nativeSrc": "9789:9:1", + "nodeType": "YulIdentifier", + "src": "9789:9:1" + }, + { + "arguments": [ + { + "name": "idx", + "nativeSrc": "9804:3:1", + "nodeType": "YulIdentifier", + "src": "9804:3:1" + }, + { + "kind": "number", + "nativeSrc": "9809:1:1", + "nodeType": "YulLiteral", + "src": "9809:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9800:3:1", + "nodeType": "YulIdentifier", + "src": "9800:3:1" + }, + "nativeSrc": "9800:11:1", + "nodeType": "YulFunctionCall", + "src": "9800:11:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9782:6:1", + "nodeType": "YulIdentifier", + "src": "9782:6:1" + }, + "nativeSrc": "9782:30:1", + "nodeType": "YulFunctionCall", + "src": "9782:30:1" + }, + "nativeSrc": "9782:30:1", + "nodeType": "YulExpressionStatement", + "src": "9782:30:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 706, + "isOffset": false, + "isSlot": false, + "src": "9789:9:1", + "valueSize": 1 + }, + { + "declaration": 700, + "isOffset": false, + "isSlot": false, + "src": "9804:3:1", + "valueSize": 1 + } + ], + "id": 718, + "nodeType": "InlineAssembly", + "src": "9759:98:1" + }, + { + "expression": { + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 719, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "9866:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 721, + "indexExpression": { + "id": 720, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 700, + "src": "9876:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9866:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 722, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "9883:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "9866:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 724, + "nodeType": "ExpressionStatement", + "src": "9866:22:1" + } + ] + }, + "id": 726, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addConstant", + "nameLocation": "9536:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "mutability": "mutable", + "name": "request", + "nameLocation": "9581:7:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9558:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 694, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 693, + "name": "EVMFetchRequest", + "nameLocations": [ + "9558:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "9558:15:1" + }, + "referencedDeclaration": 205, + "src": "9558:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "value", + "nameLocation": "9611:5:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9598:18:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 696, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9598:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9548:74:1" + }, + "returnParameters": { + "id": 701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 700, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9651:3:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9645:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 699, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9645:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "9644:11:1" + }, + "scope": 771, + "src": "9527:368:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 769, + "nodeType": "Block", + "src": "10001:214:1", + "statements": [ + { + "assignments": [ + 735 + ], + "declarations": [ + { + "constant": false, + "id": 735, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "10019:10:1", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "10011:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10011:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 741, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 736, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10032:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10040:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10032:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10049:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10032:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10058:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10032:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10011:48:1" + }, + { + "expression": { + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 742, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10069:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10077:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10069:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 746, + "indexExpression": { + "id": 744, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "10086:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10069:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "expression": { + "id": 747, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10112:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10120:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10112:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 750, + "indexExpression": { + "id": 749, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "10129:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10112:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 755, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "10171:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10164:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 753, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "10164:6:1", + "typeDescriptions": {} + } + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10164:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10156:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 751, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10156:7:1", + "typeDescriptions": {} + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10156:19:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10180:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10184:22:1", + "subExpression": { + "expression": { + "id": 759, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10184:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10192:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "10184:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10180:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 763, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10179:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10156:51:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 765, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10155:53:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10112:96:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10069:139:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 768, + "nodeType": "ExpressionStatement", + "src": "10069:139:1" + } + ] + }, + "id": 770, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addOperation", + "nameLocation": "9910:13:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 729, + "mutability": "mutable", + "name": "request", + "nameLocation": "9956:7:1", + "nodeType": "VariableDeclaration", + "scope": 770, + "src": "9933:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 728, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 727, + "name": "EVMFetchRequest", + "nameLocations": [ + "9933:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "9933:15:1" + }, + "referencedDeclaration": 205, + "src": "9933:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 731, + "mutability": "mutable", + "name": "op", + "nameLocation": "9979:2:1", + "nodeType": "VariableDeclaration", + "scope": 770, + "src": "9973:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 730, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9973:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "9923:64:1" + }, + "returnParameters": { + "id": 733, + "nodeType": "ParameterList", + "parameters": [], + "src": "10001:0:1" + }, + "scope": 771, + "src": "9901:314:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 772, + "src": "739:9478:1", + "usedErrors": [ + 170, + 172, + 178, + 191 + ], + "usedEvents": [] + } + ], + "src": "31:10187:1" + }, + "id": 1 + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "exportedSymbols": { + "IEVMVerifier": [ + 798 + ] + }, + "id": 799, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 773, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IEVMVerifier", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 798, + "linearizedBaseContracts": [ + 798 + ], + "name": "IEVMVerifier", + "nameLocation": "67:12:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "b50f2fbc", + "id": 779, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "gatewayURLs", + "nameLocation": "95:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 774, + "nodeType": "ParameterList", + "parameters": [], + "src": "106:2:2" + }, + "returnParameters": { + "id": 778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 777, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 779, + "src": "132:15:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 775, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "132:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 776, + "nodeType": "ArrayTypeName", + "src": "132:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "131:17:2" + }, + "scope": 798, + "src": "86:63:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c51ca02a", + "id": 797, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStorageValues", + "nameLocation": "164:16:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 781, + "mutability": "mutable", + "name": "target", + "nameLocation": "198:6:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "190:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 784, + "mutability": "mutable", + "name": "commands", + "nameLocation": "231:8:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "214:25:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "214:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 783, + "nodeType": "ArrayTypeName", + "src": "214:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 787, + "mutability": "mutable", + "name": "constants", + "nameLocation": "264:9:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "249:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 785, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "249:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 786, + "nodeType": "ArrayTypeName", + "src": "249:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 789, + "mutability": "mutable", + "name": "proof", + "nameLocation": "296:5:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "283:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 788, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "283:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 791, + "mutability": "mutable", + "name": "acceptedL2BlockRangeLength", + "nameLocation": "319:26:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "311:34:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "311:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "180:171:2" + }, + "returnParameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "mutability": "mutable", + "name": "values", + "nameLocation": "390:6:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "375:21:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 793, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "375:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 794, + "nodeType": "ArrayTypeName", + "src": "375:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "374:23:2" + }, + "scope": 798, + "src": "155:243:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 799, + "src": "57:343:2", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:370:2" + }, + "id": 2 + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "exportedSymbols": { + "ENS": [ + 1030 + ], + "IBaseRegistrar": [ + 893 + ], + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ] + }, + "id": 894, + "nodeType": "SourceUnit", + "nodes": [ + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "../registry/ENS.sol", + "id": 800, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 1031, + "src": "0:29:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "file": "./IBaseRegistrar.sol", + "id": 801, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 894, + "src": "30:30:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "id": 802, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 2658, + "src": "61:58:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 803, + "name": "IERC721", + "nameLocations": [ + "149:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2657, + "src": "149:7:3" + }, + "id": 804, + "nodeType": "InheritanceSpecifier", + "src": "149:7:3" + } + ], + "canonicalName": "IBaseRegistrar", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 893, + "linearizedBaseContracts": [ + 893, + 2657, + 3023 + ], + "name": "IBaseRegistrar", + "nameLocation": "131:14:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474", + "id": 808, + "name": "ControllerAdded", + "nameLocation": "169:15:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 806, + "indexed": true, + "mutability": "mutable", + "name": "controller", + "nameLocation": "201:10:3", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "185:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "184:28:3" + }, + "src": "163:50:3" + }, + { + "anonymous": false, + "eventSelector": "33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113", + "id": 812, + "name": "ControllerRemoved", + "nameLocation": "224:17:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 810, + "indexed": true, + "mutability": "mutable", + "name": "controller", + "nameLocation": "258:10:3", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "242:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "241:28:3" + }, + "src": "218:52:3" + }, + { + "anonymous": false, + "eventSelector": "ea3d7e1195a15d2ddcd859b01abd4c6b960fa9f9264e499a70a90c7f0c64b717", + "id": 820, + "name": "NameMigrated", + "nameLocation": "281:12:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 814, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "319:2:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "303:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 816, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "347:5:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "331:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "331:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "370:7:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "362:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "362:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "293:90:3" + }, + "src": "275:109:3" + }, + { + "anonymous": false, + "eventSelector": "b3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d9", + "id": 828, + "name": "NameRegistered", + "nameLocation": "395:14:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "435:2:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "419:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "463:5:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "447:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 823, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 826, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "486:7:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "478:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 825, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "478:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "409:90:3" + }, + "src": "389:111:3" + }, + { + "anonymous": false, + "eventSelector": "9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd6", + "id": 834, + "name": "NameRenewed", + "nameLocation": "511:11:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 830, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "539:2:3", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "523:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "523:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 832, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "551:7:3", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "543:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 831, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "543:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "522:37:3" + }, + "src": "505:55:3" + }, + { + "functionSelector": "a7fc7a07", + "id": 839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addController", + "nameLocation": "643:13:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "mutability": "mutable", + "name": "controller", + "nameLocation": "665:10:3", + "nodeType": "VariableDeclaration", + "scope": 839, + "src": "657:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "657:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "656:20:3" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [], + "src": "685:0:3" + }, + "scope": 893, + "src": "634:52:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f6a74ed7", + "id": 844, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeController", + "nameLocation": "753:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "mutability": "mutable", + "name": "controller", + "nameLocation": "778:10:3", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "770:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "770:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "769:20:3" + }, + "returnParameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [], + "src": "798:0:3" + }, + "scope": 893, + "src": "744:55:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e543b26", + "id": 849, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "874:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 846, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "894:8:3", + "nodeType": "VariableDeclaration", + "scope": 849, + "src": "886:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "885:18:3" + }, + "returnParameters": { + "id": 848, + "nodeType": "ParameterList", + "parameters": [], + "src": "912:0:3" + }, + "scope": 893, + "src": "865:48:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d6e4fa86", + "id": 856, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nameLocation": "997:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 851, + "mutability": "mutable", + "name": "id", + "nameLocation": "1017:2:3", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1009:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1009:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1008:12:3" + }, + "returnParameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 854, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1044:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1044:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1043:9:3" + }, + "scope": 893, + "src": "988:65:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "96e494e8", + "id": 863, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "available", + "nameLocation": "1141:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "id", + "nameLocation": "1159:2:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "1151:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1151:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1150:12:3" + }, + "returnParameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "1186:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1186:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1185:6:3" + }, + "scope": 893, + "src": "1132:60:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 864, + "nodeType": "StructuredDocumentation", + "src": "1198:40:3", + "text": " @dev Register a name." + }, + "functionSelector": "fca247ac", + "id": 875, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nameLocation": "1252:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "id", + "nameLocation": "1278:2:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1270:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1270:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 868, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1298:5:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1290:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1290:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "mutability": "mutable", + "name": "duration", + "nameLocation": "1321:8:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1313:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1313:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1260:75:3" + }, + "returnParameters": { + "id": 874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 873, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1354:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 872, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1354:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1353:9:3" + }, + "scope": 893, + "src": "1243:120:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c475abff", + "id": 884, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nameLocation": "1378:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 877, + "mutability": "mutable", + "name": "id", + "nameLocation": "1392:2:3", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1384:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 876, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1384:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 879, + "mutability": "mutable", + "name": "duration", + "nameLocation": "1404:8:3", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1396:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1396:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1383:30:3" + }, + "returnParameters": { + "id": 883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1432:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1432:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1431:9:3" + }, + "scope": 893, + "src": "1369:72:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 885, + "nodeType": "StructuredDocumentation", + "src": "1447:91:3", + "text": " @dev Reclaim ownership of a name in ENS, if you own it in the registrar." + }, + "functionSelector": "28ed4f6c", + "id": 892, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reclaim", + "nameLocation": "1552:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 887, + "mutability": "mutable", + "name": "id", + "nameLocation": "1568:2:3", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "1560:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1560:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 889, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1580:5:3", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "1572:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1572:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1559:27:3" + }, + "returnParameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [], + "src": "1595:0:3" + }, + "scope": 893, + "src": "1543:53:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 894, + "src": "121:1477:3", + "usedErrors": [], + "usedEvents": [ + 808, + 812, + 820, + 828, + 834, + 2556, + 2565, + 2574 + ] + } + ], + "src": "0:1599:3" + }, + "id": 3 + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "exportedSymbols": { + "ENS": [ + 1030 + ] + }, + "id": 1031, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 895, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "31:24:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ENS", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1030, + "linearizedBaseContracts": [ + 1030 + ], + "name": "ENS", + "nameLocation": "67:3:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "ce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", + "id": 903, + "name": "NewOwner", + "nameLocation": "156:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 897, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "181:4:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "165:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 899, + "indexed": true, + "mutability": "mutable", + "name": "label", + "nameLocation": "203:5:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "187:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "187:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 901, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "218:5:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "210:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "164:60:4" + }, + "src": "150:75:4" + }, + { + "anonymous": false, + "eventSelector": "d4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266", + "id": 909, + "name": "Transfer", + "nameLocation": "314:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "339:4:4", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "323:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 904, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 907, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "353:5:4", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "345:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "345:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "322:37:4" + }, + "src": "308:52:4" + }, + { + "anonymous": false, + "eventSelector": "335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", + "id": 915, + "name": "NewResolver", + "nameLocation": "424:11:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 911, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "452:4:4", + "nodeType": "VariableDeclaration", + "scope": 915, + "src": "436:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 910, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 913, + "indexed": false, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "466:8:4", + "nodeType": "VariableDeclaration", + "scope": 915, + "src": "458:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "458:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "435:40:4" + }, + "src": "418:58:4" + }, + { + "anonymous": false, + "eventSelector": "1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68", + "id": 921, + "name": "NewTTL", + "nameLocation": "533:6:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 917, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "556:4:4", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "540:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 919, + "indexed": false, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "569:3:4", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "562:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 918, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "562:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "539:34:4" + }, + "src": "527:47:4" + }, + { + "anonymous": false, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 929, + "name": "ApprovalForAll", + "nameLocation": "638:14:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 923, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "678:5:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "662:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "662:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 925, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "709:8:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "693:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 924, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 927, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "732:8:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "727:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 926, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "652:94:4" + }, + "src": "632:115:4" + }, + { + "functionSelector": "cf408823", + "id": 940, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nameLocation": "762:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 931, + "mutability": "mutable", + "name": "node", + "nameLocation": "789:4:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "781:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 930, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "781:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 933, + "mutability": "mutable", + "name": "owner", + "nameLocation": "811:5:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "803:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 932, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 935, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "834:8:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "826:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 934, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 937, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "859:3:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "852:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 936, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "852:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "771:97:4" + }, + "returnParameters": { + "id": 939, + "nodeType": "ParameterList", + "parameters": [], + "src": "877:0:4" + }, + "scope": 1030, + "src": "753:125:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5ef2c7f0", + "id": 953, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nameLocation": "893:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 942, + "mutability": "mutable", + "name": "node", + "nameLocation": "927:4:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "919:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "919:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 944, + "mutability": "mutable", + "name": "label", + "nameLocation": "949:5:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "941:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 943, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "941:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 946, + "mutability": "mutable", + "name": "owner", + "nameLocation": "972:5:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "964:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 948, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "995:8:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "987:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "987:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 950, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "1020:3:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "1013:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 949, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1013:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "909:120:4" + }, + "returnParameters": { + "id": 952, + "nodeType": "ParameterList", + "parameters": [], + "src": "1038:0:4" + }, + "scope": 1030, + "src": "884:155:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "06ab5923", + "id": 964, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nameLocation": "1054:15:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 955, + "mutability": "mutable", + "name": "node", + "nameLocation": "1087:4:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1079:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 954, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1079:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 957, + "mutability": "mutable", + "name": "label", + "nameLocation": "1109:5:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1101:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 956, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1101:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 959, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1132:5:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1124:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1124:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1069:74:4" + }, + "returnParameters": { + "id": 963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 962, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1162:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 961, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1162:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1161:9:4" + }, + "scope": 1030, + "src": "1045:126:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1896f70a", + "id": 971, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "1186:11:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "node", + "nameLocation": "1206:4:4", + "nodeType": "VariableDeclaration", + "scope": 971, + "src": "1198:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 965, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1198:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 968, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "1220:8:4", + "nodeType": "VariableDeclaration", + "scope": 971, + "src": "1212:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 967, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1212:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1197:32:4" + }, + "returnParameters": { + "id": 970, + "nodeType": "ParameterList", + "parameters": [], + "src": "1238:0:4" + }, + "scope": 1030, + "src": "1177:62:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5b0fc9c3", + "id": 978, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nameLocation": "1254:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 973, + "mutability": "mutable", + "name": "node", + "nameLocation": "1271:4:4", + "nodeType": "VariableDeclaration", + "scope": 978, + "src": "1263:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 972, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1263:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 975, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1285:5:4", + "nodeType": "VariableDeclaration", + "scope": 978, + "src": "1277:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 974, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1277:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1262:29:4" + }, + "returnParameters": { + "id": 977, + "nodeType": "ParameterList", + "parameters": [], + "src": "1300:0:4" + }, + "scope": 1030, + "src": "1245:56:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "14ab9038", + "id": 985, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nameLocation": "1316:6:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 980, + "mutability": "mutable", + "name": "node", + "nameLocation": "1331:4:4", + "nodeType": "VariableDeclaration", + "scope": 985, + "src": "1323:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 982, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "1344:3:4", + "nodeType": "VariableDeclaration", + "scope": 985, + "src": "1337:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 981, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1337:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1322:26:4" + }, + "returnParameters": { + "id": 984, + "nodeType": "ParameterList", + "parameters": [], + "src": "1357:0:4" + }, + "scope": 1030, + "src": "1307:51:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a22cb465", + "id": 992, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "1373:17:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 987, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1399:8:4", + "nodeType": "VariableDeclaration", + "scope": 992, + "src": "1391:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1391:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 989, + "mutability": "mutable", + "name": "approved", + "nameLocation": "1414:8:4", + "nodeType": "VariableDeclaration", + "scope": 992, + "src": "1409:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 988, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1390:33:4" + }, + "returnParameters": { + "id": 991, + "nodeType": "ParameterList", + "parameters": [], + "src": "1432:0:4" + }, + "scope": 1030, + "src": "1364:69:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "02571be3", + "id": 999, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1448:5:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 994, + "mutability": "mutable", + "name": "node", + "nameLocation": "1462:4:4", + "nodeType": "VariableDeclaration", + "scope": 999, + "src": "1454:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1454:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1453:14:4" + }, + "returnParameters": { + "id": 998, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 997, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 999, + "src": "1491:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 996, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1491:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1490:9:4" + }, + "scope": 1030, + "src": "1439:61:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0178b8bf", + "id": 1006, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nameLocation": "1515:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1001, + "mutability": "mutable", + "name": "node", + "nameLocation": "1532:4:4", + "nodeType": "VariableDeclaration", + "scope": 1006, + "src": "1524:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1000, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1524:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1523:14:4" + }, + "returnParameters": { + "id": 1005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1004, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1006, + "src": "1561:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1561:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1560:9:4" + }, + "scope": 1030, + "src": "1506:64:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "16a25cbd", + "id": 1013, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nameLocation": "1585:3:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1008, + "mutability": "mutable", + "name": "node", + "nameLocation": "1597:4:4", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "1589:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1007, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1589:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1588:14:4" + }, + "returnParameters": { + "id": 1012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1011, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "1626:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1010, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1626:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1625:8:4" + }, + "scope": 1030, + "src": "1576:58:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f79fe538", + "id": 1020, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nameLocation": "1649:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1015, + "mutability": "mutable", + "name": "node", + "nameLocation": "1670:4:4", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "1662:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1014, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1662:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1661:14:4" + }, + "returnParameters": { + "id": 1019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1018, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "1699:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1699:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1698:6:4" + }, + "scope": 1030, + "src": "1640:65:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "e985e9c5", + "id": 1029, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "1720:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1022, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1754:5:4", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1746:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1746:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1024, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1777:8:4", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1769:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1769:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1736:55:4" + }, + "returnParameters": { + "id": 1028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1027, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1815:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1026, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1815:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1814:6:4" + }, + "scope": 1030, + "src": "1711:110:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1031, + "src": "57:1766:4", + "usedErrors": [], + "usedEvents": [ + 903, + 909, + 915, + 921, + 929 + ] + } + ], + "src": "31:1793:4" + }, + "id": 4 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "exportedSymbols": { + "IAddrResolver": [ + 1048 + ] + }, + "id": 1049, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1032, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:24:5" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddrResolver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1033, + "nodeType": "StructuredDocumentation", + "src": "58:61:5", + "text": " Interface for the legacy (ETH-only) addr function." + }, + "fullyImplemented": false, + "id": 1048, + "linearizedBaseContracts": [ + 1048 + ], + "name": "IAddrResolver", + "nameLocation": "130:13:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", + "id": 1039, + "name": "AddrChanged", + "nameLocation": "156:11:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1035, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "184:4:5", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "168:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1034, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "168:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1037, + "indexed": false, + "mutability": "mutable", + "name": "a", + "nameLocation": "198:1:5", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "190:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "167:33:5" + }, + "src": "150:51:5" + }, + { + "documentation": { + "id": 1040, + "nodeType": "StructuredDocumentation", + "src": "207:148:5", + "text": " Returns the address associated with an ENS node.\n @param node The ENS node to query.\n @return The associated address." + }, + "functionSelector": "3b3b57de", + "id": 1047, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nameLocation": "369:4:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1042, + "mutability": "mutable", + "name": "node", + "nameLocation": "382:4:5", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "374:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "374:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "373:14:5" + }, + "returnParameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1045, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "411:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "411:15:5", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "410:17:5" + }, + "scope": 1048, + "src": "360:68:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1049, + "src": "120:310:5", + "usedErrors": [], + "usedEvents": [ + 1039 + ] + } + ], + "src": "32:399:5" + }, + "id": 5 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "exportedSymbols": { + "IAddressResolver": [ + 1069 + ] + }, + "id": 1070, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1050, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:24:6" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddressResolver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1051, + "nodeType": "StructuredDocumentation", + "src": "58:59:6", + "text": " Interface for the new (multicoin) addr function." + }, + "fullyImplemented": false, + "id": 1069, + "linearizedBaseContracts": [ + 1069 + ], + "name": "IAddressResolver", + "nameLocation": "128:16:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", + "id": 1059, + "name": "AddressChanged", + "nameLocation": "157:14:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1053, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "197:4:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "181:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1052, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "181:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1055, + "indexed": false, + "mutability": "mutable", + "name": "coinType", + "nameLocation": "219:8:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "211:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1054, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "211:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1057, + "indexed": false, + "mutability": "mutable", + "name": "newAddress", + "nameLocation": "243:10:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "237:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1056, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "237:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "171:88:6" + }, + "src": "151:109:6" + }, + { + "functionSelector": "f1cb7e06", + "id": 1068, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nameLocation": "275:4:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1061, + "mutability": "mutable", + "name": "node", + "nameLocation": "297:4:6", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "289:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1060, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "289:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1063, + "mutability": "mutable", + "name": "coinType", + "nameLocation": "319:8:6", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "311:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "311:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "279:54:6" + }, + "returnParameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "357:12:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1065, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "357:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "356:14:6" + }, + "scope": 1069, + "src": "266:105:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1070, + "src": "118:255:6", + "usedErrors": [], + "usedEvents": [ + 1059 + ] + } + ], + "src": "32:342:6" + }, + "id": 6 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "exportedSymbols": { + "IExtendedResolver": [ + 1081 + ] + }, + "id": 1082, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1071, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:23:7" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IExtendedResolver", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1081, + "linearizedBaseContracts": [ + 1081 + ], + "name": "IExtendedResolver", + "nameLocation": "67:17:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "9061b923", + "id": 1080, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolve", + "nameLocation": "100:7:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "mutability": "mutable", + "name": "name", + "nameLocation": "130:4:7", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "117:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1072, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "117:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1075, + "mutability": "mutable", + "name": "data", + "nameLocation": "157:4:7", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "144:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1074, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "144:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "107:60:7" + }, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "191:12:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1077, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "191:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "190:14:7" + }, + "scope": 1081, + "src": "91:114:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1082, + "src": "57:150:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:176:7" + }, + "id": 7 + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "exportedSymbols": { + "BytesUtils": [ + 2017 + ] + }, + "id": 2018, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1083, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "31:23:8" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "BytesUtils", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 2017, + "linearizedBaseContracts": [ + 2017 + ], + "name": "BytesUtils", + "nameLocation": "64:10:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "errorSelector": "8a3c1cfb", + "id": 1089, + "name": "OffsetOutOfBoundsError", + "nameLocation": "87:22:8", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1085, + "mutability": "mutable", + "name": "offset", + "nameLocation": "118:6:8", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "110:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "110:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1087, + "mutability": "mutable", + "name": "length", + "nameLocation": "134:6:8", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "126:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "126:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "109:32:8" + }, + "src": "81:61:8" + }, + { + "body": { + "id": 1110, + "nodeType": "Block", + "src": "539:144:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1101, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "557:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1102, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "566:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "557:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1104, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "573:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "578:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "573:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "557:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1100, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "549:36:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1108, + "nodeType": "ExpressionStatement", + "src": "549:36:8" + }, + { + "AST": { + "nativeSrc": "604:73:8", + "nodeType": "YulBlock", + "src": "604:73:8", + "statements": [ + { + "nativeSrc": "618:49:8", + "nodeType": "YulAssignment", + "src": "618:49:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "643:4:8", + "nodeType": "YulIdentifier", + "src": "643:4:8" + }, + { + "kind": "number", + "nativeSrc": "649:2:8", + "nodeType": "YulLiteral", + "src": "649:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "639:3:8", + "nodeType": "YulIdentifier", + "src": "639:3:8" + }, + "nativeSrc": "639:13:8", + "nodeType": "YulFunctionCall", + "src": "639:13:8" + }, + { + "name": "offset", + "nativeSrc": "654:6:8", + "nodeType": "YulIdentifier", + "src": "654:6:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "635:3:8", + "nodeType": "YulIdentifier", + "src": "635:3:8" + }, + "nativeSrc": "635:26:8", + "nodeType": "YulFunctionCall", + "src": "635:26:8" + }, + { + "name": "len", + "nativeSrc": "663:3:8", + "nodeType": "YulIdentifier", + "src": "663:3:8" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "625:9:8", + "nodeType": "YulIdentifier", + "src": "625:9:8" + }, + "nativeSrc": "625:42:8", + "nodeType": "YulFunctionCall", + "src": "625:42:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "618:3:8", + "nodeType": "YulIdentifier", + "src": "618:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1095, + "isOffset": false, + "isSlot": false, + "src": "663:3:8", + "valueSize": 1 + }, + { + "declaration": 1093, + "isOffset": false, + "isSlot": false, + "src": "654:6:8", + "valueSize": 1 + }, + { + "declaration": 1098, + "isOffset": false, + "isSlot": false, + "src": "618:3:8", + "valueSize": 1 + }, + { + "declaration": 1091, + "isOffset": false, + "isSlot": false, + "src": "643:4:8", + "valueSize": 1 + } + ], + "id": 1109, + "nodeType": "InlineAssembly", + "src": "595:82:8" + } + ] + }, + "id": 1111, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "keccak", + "nameLocation": "418:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "mutability": "mutable", + "name": "self", + "nameLocation": "447:4:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "434:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1090, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "434:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1093, + "mutability": "mutable", + "name": "offset", + "nameLocation": "469:6:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "461:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "461:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1095, + "mutability": "mutable", + "name": "len", + "nameLocation": "493:3:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "485:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "485:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "424:78:8" + }, + "returnParameters": { + "id": 1099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1098, + "mutability": "mutable", + "name": "ret", + "nameLocation": "534:3:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "526:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1097, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "526:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "525:13:8" + }, + "scope": 2017, + "src": "409:274:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1164, + "nodeType": "Block", + "src": "1021:336:8", + "statements": [ + { + "assignments": [ + 1122, + 1124 + ], + "declarations": [ + { + "constant": false, + "id": 1122, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "1040:9:8", + "nodeType": "VariableDeclaration", + "scope": 1164, + "src": "1032:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1124, + "mutability": "mutable", + "name": "newOffset", + "nameLocation": "1059:9:8", + "nodeType": "VariableDeclaration", + "scope": 1164, + "src": "1051:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1129, + "initialValue": { + "arguments": [ + { + "id": 1126, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1082:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1127, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "1088:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1125, + "name": "readLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1229, + "src": "1072:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32,uint256)" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1072:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1031:64:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1130, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1122, + "src": "1109:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1130:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1131, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1122:7:8", + "typeDescriptions": {} + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1122:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1109:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1152, + "nodeType": "IfStatement", + "src": "1105:152:8", + "trueBody": { + "id": 1151, + "nodeType": "Block", + "src": "1134:123:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1137, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "1156:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1138, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1166:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1171:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1166:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1180:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1166:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1156:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e616d65686173683a204a756e6b20617420656e64206f66206e616d65", + "id": 1143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1183:31:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_912cb3202b125350fc41f3ab0d7246878642a776f73877d55ca2cfbcec1f2142", + "typeString": "literal_string \"namehash: Junk at end of name\"" + }, + "value": "namehash: Junk at end of name" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_912cb3202b125350fc41f3ab0d7246878642a776f73877d55ca2cfbcec1f2142", + "typeString": "literal_string \"namehash: Junk at end of name\"" + } + ], + "id": 1136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1148:67:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1145, + "nodeType": "ExpressionStatement", + "src": "1148:67:8" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1244:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1236:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1236:7:8", + "typeDescriptions": {} + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1236:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1120, + "id": 1150, + "nodeType": "Return", + "src": "1229:17:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 1157, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1321:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1158, + "name": "newOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "1327:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1156, + "name": "namehash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "1312:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1312:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1160, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1122, + "src": "1339:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1154, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1295:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1299:12:8", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1295:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1295:54:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1153, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1285:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1285:65:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1120, + "id": 1163, + "nodeType": "Return", + "src": "1266:84:8" + } + ] + }, + "documentation": { + "id": 1112, + "nodeType": "StructuredDocumentation", + "src": "689:220:8", + "text": " @dev Returns the ENS namehash of a DNS-encoded name.\n @param self The DNS-encoded name to hash.\n @param offset The offset at which to start hashing.\n @return The namehash of the name." + }, + "id": 1165, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "namehash", + "nameLocation": "923:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1114, + "mutability": "mutable", + "name": "self", + "nameLocation": "954:4:8", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "941:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1113, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "941:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1116, + "mutability": "mutable", + "name": "offset", + "nameLocation": "976:6:8", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "968:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "968:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "931:57:8" + }, + "returnParameters": { + "id": 1120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "1012:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1012:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1011:9:8" + }, + "scope": 2017, + "src": "914:443:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1228, + "nodeType": "Block", + "src": "1891:296:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1178, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "1909:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1179, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "1915:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1920:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1915:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1909:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "726561644c6162656c3a20496e646578206f7574206f6620626f756e6473", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1928:32:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723ef06cf58e92d84b8ad4ad83db034cb099b69c213da6595a1e7ca6ebe51535", + "typeString": "literal_string \"readLabel: Index out of bounds\"" + }, + "value": "readLabel: Index out of bounds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723ef06cf58e92d84b8ad4ad83db034cb099b69c213da6595a1e7ca6ebe51535", + "typeString": "literal_string \"readLabel: Index out of bounds\"" + } + ], + "id": 1177, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1901:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1184, + "nodeType": "ExpressionStatement", + "src": "1901:60:8" + }, + { + "assignments": [ + 1186 + ], + "declarations": [ + { + "constant": false, + "id": 1186, + "mutability": "mutable", + "name": "len", + "nameLocation": "1979:3:8", + "nodeType": "VariableDeclaration", + "scope": 1228, + "src": "1971:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1971:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1196, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 1191, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "1999:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1193, + "indexExpression": { + "id": 1192, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2004:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1999:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1993:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1189, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1993:5:8", + "typeDescriptions": {} + } + }, + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1993:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1985:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1985:7:8", + "typeDescriptions": {} + } + }, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1985:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1971:39:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1197, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2024:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2024:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1218, + "nodeType": "Block", + "src": "2102:47:8", + "statements": [ + { + "expression": { + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1211, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "2116:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2136:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2128:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1212, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2128:7:8", + "typeDescriptions": {} + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2128:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2116:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1217, + "nodeType": "ExpressionStatement", + "src": "2116:22:8" + } + ] + }, + "id": 1219, + "nodeType": "IfStatement", + "src": "2020:129:8", + "trueBody": { + "id": 1210, + "nodeType": "Block", + "src": "2033:63:8", + "statements": [ + { + "expression": { + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1200, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "2047:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1202, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "2066:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1203, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2072:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2078:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2072:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1206, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2081:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1201, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "2059:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2059:26:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2047:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1209, + "nodeType": "ExpressionStatement", + "src": "2047:38:8" + } + ] + } + }, + { + "expression": { + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1220, + "name": "newIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "2158:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1221, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2167:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1222, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2173:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2167:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2179:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2167:13:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2158:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1227, + "nodeType": "ExpressionStatement", + "src": "2158:22:8" + } + ] + }, + "documentation": { + "id": 1166, + "nodeType": "StructuredDocumentation", + "src": "1363:392:8", + "text": " @dev Returns the keccak-256 hash of a DNS-encoded label, and the offset to the start of the next label.\n @param self The byte string to read a label from.\n @param idx The index to read a label at.\n @return labelhash The hash of the label at the specified index, or 0 if it is the last label.\n @return newIdx The index of the start of the next label." + }, + "id": 1229, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readLabel", + "nameLocation": "1769:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "mutability": "mutable", + "name": "self", + "nameLocation": "1801:4:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1788:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1167, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1788:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1170, + "mutability": "mutable", + "name": "idx", + "nameLocation": "1823:3:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1815:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1815:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1778:54:8" + }, + "returnParameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1173, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "1864:9:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1856:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1172, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1856:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "mutability": "mutable", + "name": "newIdx", + "nameLocation": "1883:6:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1875:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1875:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1855:35:8" + }, + "scope": 2017, + "src": "1760:427:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1249, + "nodeType": "Block", + "src": "2659:77:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1239, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1231, + "src": "2684:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2690:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1241, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1231, + "src": "2693:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2698:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2693:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1243, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1233, + "src": "2706:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2713:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1245, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1233, + "src": "2716:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2722:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2716:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1238, + "name": "compare", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1250, + 1421 + ], + "referencedDeclaration": 1421, + "src": "2676:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_int256_$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory,uint256,uint256) pure returns (int256)" + } + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2676:53:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1237, + "id": 1248, + "nodeType": "Return", + "src": "2669:60:8" + } + ] + }, + "id": 1250, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compare", + "nameLocation": "2559:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "self", + "nameLocation": "2589:4:8", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2576:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1230, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2576:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1233, + "mutability": "mutable", + "name": "other", + "nameLocation": "2616:5:8", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2603:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1232, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2603:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2566:61:8" + }, + "returnParameters": { + "id": 1237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2651:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1235, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2651:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2650:8:8" + }, + "scope": 2017, + "src": "2550:186:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1420, + "nodeType": "Block", + "src": "3570:1315:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1267, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1254, + "src": "3584:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1268, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3593:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3584:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 1270, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "3599:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3604:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3599:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3584:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1282, + "nodeType": "IfStatement", + "src": "3580:113:8", + "trueBody": { + "id": 1281, + "nodeType": "Block", + "src": "3612:81:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1274, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1254, + "src": "3656:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1275, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3665:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3656:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1277, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "3670:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3675:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3670:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1273, + "name": "OffsetOutOfBoundsError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "3633:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3633:49:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1280, + "nodeType": "RevertStatement", + "src": "3626:56:8" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1283, + "name": "otheroffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3706:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1284, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3720:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3706:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 1286, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "3731:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3737:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3731:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3706:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1298, + "nodeType": "IfStatement", + "src": "3702:135:8", + "trueBody": { + "id": 1297, + "nodeType": "Block", + "src": "3745:92:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1290, + "name": "otheroffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3789:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1291, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3803:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3789:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1293, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "3813:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3819:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3813:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1289, + "name": "OffsetOutOfBoundsError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "3766:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3766:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1296, + "nodeType": "RevertStatement", + "src": "3759:67:8" + } + ] + } + }, + { + "assignments": [ + 1300 + ], + "declarations": [ + { + "constant": false, + "id": 1300, + "mutability": "mutable", + "name": "shortest", + "nameLocation": "3855:8:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3847:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1299, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3847:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1302, + "initialValue": { + "id": 1301, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3866:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3847:22:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1303, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3883:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1304, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3894:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3883:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1310, + "nodeType": "IfStatement", + "src": "3879:39:8", + "trueBody": { + "expression": { + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1306, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "3899:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1307, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3910:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3899:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1309, + "nodeType": "ExpressionStatement", + "src": "3899:19:8" + } + }, + { + "assignments": [ + 1312 + ], + "declarations": [ + { + "constant": false, + "id": 1312, + "mutability": "mutable", + "name": "selfptr", + "nameLocation": "3937:7:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3929:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3929:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1313, + "nodeType": "VariableDeclarationStatement", + "src": "3929:15:8" + }, + { + "assignments": [ + 1315 + ], + "declarations": [ + { + "constant": false, + "id": 1315, + "mutability": "mutable", + "name": "otherptr", + "nameLocation": "3962:8:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3954:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3954:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1316, + "nodeType": "VariableDeclarationStatement", + "src": "3954:16:8" + }, + { + "AST": { + "nativeSrc": "3990:118:8", + "nodeType": "YulBlock", + "src": "3990:118:8", + "statements": [ + { + "nativeSrc": "4004:37:8", + "nodeType": "YulAssignment", + "src": "4004:37:8", + "value": { + "arguments": [ + { + "name": "self", + "nativeSrc": "4019:4:8", + "nodeType": "YulIdentifier", + "src": "4019:4:8" + }, + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4029:6:8", + "nodeType": "YulIdentifier", + "src": "4029:6:8" + }, + { + "kind": "number", + "nativeSrc": "4037:2:8", + "nodeType": "YulLiteral", + "src": "4037:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4025:3:8", + "nodeType": "YulIdentifier", + "src": "4025:3:8" + }, + "nativeSrc": "4025:15:8", + "nodeType": "YulFunctionCall", + "src": "4025:15:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4015:3:8", + "nodeType": "YulIdentifier", + "src": "4015:3:8" + }, + "nativeSrc": "4015:26:8", + "nodeType": "YulFunctionCall", + "src": "4015:26:8" + }, + "variableNames": [ + { + "name": "selfptr", + "nativeSrc": "4004:7:8", + "nodeType": "YulIdentifier", + "src": "4004:7:8" + } + ] + }, + { + "nativeSrc": "4054:44:8", + "nodeType": "YulAssignment", + "src": "4054:44:8", + "value": { + "arguments": [ + { + "name": "other", + "nativeSrc": "4070:5:8", + "nodeType": "YulIdentifier", + "src": "4070:5:8" + }, + { + "arguments": [ + { + "name": "otheroffset", + "nativeSrc": "4081:11:8", + "nodeType": "YulIdentifier", + "src": "4081:11:8" + }, + { + "kind": "number", + "nativeSrc": "4094:2:8", + "nodeType": "YulLiteral", + "src": "4094:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4077:3:8", + "nodeType": "YulIdentifier", + "src": "4077:3:8" + }, + "nativeSrc": "4077:20:8", + "nodeType": "YulFunctionCall", + "src": "4077:20:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4066:3:8", + "nodeType": "YulIdentifier", + "src": "4066:3:8" + }, + "nativeSrc": "4066:32:8", + "nodeType": "YulFunctionCall", + "src": "4066:32:8" + }, + "variableNames": [ + { + "name": "otherptr", + "nativeSrc": "4054:8:8", + "nodeType": "YulIdentifier", + "src": "4054:8:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1254, + "isOffset": false, + "isSlot": false, + "src": "4029:6:8", + "valueSize": 1 + }, + { + "declaration": 1258, + "isOffset": false, + "isSlot": false, + "src": "4070:5:8", + "valueSize": 1 + }, + { + "declaration": 1260, + "isOffset": false, + "isSlot": false, + "src": "4081:11:8", + "valueSize": 1 + }, + { + "declaration": 1315, + "isOffset": false, + "isSlot": false, + "src": "4054:8:8", + "valueSize": 1 + }, + { + "declaration": 1252, + "isOffset": false, + "isSlot": false, + "src": "4019:4:8", + "valueSize": 1 + }, + { + "declaration": 1312, + "isOffset": false, + "isSlot": false, + "src": "4004:7:8", + "valueSize": 1 + } + ], + "id": 1317, + "nodeType": "InlineAssembly", + "src": "3981:127:8" + }, + { + "body": { + "id": 1408, + "nodeType": "Block", + "src": "4166:665:8", + "statements": [ + { + "assignments": [ + 1330 + ], + "declarations": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "a", + "nameLocation": "4188:1:8", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "4180:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1331, + "nodeType": "VariableDeclarationStatement", + "src": "4180:9:8" + }, + { + "assignments": [ + 1333 + ], + "declarations": [ + { + "constant": false, + "id": 1333, + "mutability": "mutable", + "name": "b", + "nameLocation": "4211:1:8", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "4203:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4203:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1334, + "nodeType": "VariableDeclarationStatement", + "src": "4203:9:8" + }, + { + "AST": { + "nativeSrc": "4235:88:8", + "nodeType": "YulBlock", + "src": "4235:88:8", + "statements": [ + { + "nativeSrc": "4253:19:8", + "nodeType": "YulAssignment", + "src": "4253:19:8", + "value": { + "arguments": [ + { + "name": "selfptr", + "nativeSrc": "4264:7:8", + "nodeType": "YulIdentifier", + "src": "4264:7:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4258:5:8", + "nodeType": "YulIdentifier", + "src": "4258:5:8" + }, + "nativeSrc": "4258:14:8", + "nodeType": "YulFunctionCall", + "src": "4258:14:8" + }, + "variableNames": [ + { + "name": "a", + "nativeSrc": "4253:1:8", + "nodeType": "YulIdentifier", + "src": "4253:1:8" + } + ] + }, + { + "nativeSrc": "4289:20:8", + "nodeType": "YulAssignment", + "src": "4289:20:8", + "value": { + "arguments": [ + { + "name": "otherptr", + "nativeSrc": "4300:8:8", + "nodeType": "YulIdentifier", + "src": "4300:8:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4294:5:8", + "nodeType": "YulIdentifier", + "src": "4294:5:8" + }, + "nativeSrc": "4294:15:8", + "nodeType": "YulFunctionCall", + "src": "4294:15:8" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "4289:1:8", + "nodeType": "YulIdentifier", + "src": "4289:1:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1330, + "isOffset": false, + "isSlot": false, + "src": "4253:1:8", + "valueSize": 1 + }, + { + "declaration": 1333, + "isOffset": false, + "isSlot": false, + "src": "4289:1:8", + "valueSize": 1 + }, + { + "declaration": 1315, + "isOffset": false, + "isSlot": false, + "src": "4300:8:8", + "valueSize": 1 + }, + { + "declaration": 1312, + "isOffset": false, + "isSlot": false, + "src": "4264:7:8", + "valueSize": 1 + } + ], + "id": 1335, + "nodeType": "InlineAssembly", + "src": "4226:97:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1336, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "4340:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 1337, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "4345:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4340:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1399, + "nodeType": "IfStatement", + "src": "4336:430:8", + "trueBody": { + "id": 1398, + "nodeType": "Block", + "src": "4348:418:8", + "statements": [ + { + "assignments": [ + 1340 + ], + "declarations": [ + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "mask", + "nameLocation": "4435:4:8", + "nodeType": "VariableDeclaration", + "scope": 1398, + "src": "4427:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4427:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1341, + "nodeType": "VariableDeclarationStatement", + "src": "4427:12:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1342, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4461:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1343, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4472:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4461:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 1345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4479:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4461:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1374, + "nodeType": "Block", + "src": "4554:87:8", + "statements": [ + { + "expression": { + "id": 1372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1356, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4576:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "4583:39:8", + "subExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4585:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 1358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4591:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1359, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4596:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3332", + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4602:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4596:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1362, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4607:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4596:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1364, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4595:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4591:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1366, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4590:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4585:32:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4620:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4585:36:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1370, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4584:38:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4576:46:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1373, + "nodeType": "ExpressionStatement", + "src": "4576:46:8" + } + ] + }, + "id": 1375, + "nodeType": "IfStatement", + "src": "4457:184:8", + "trueBody": { + "id": 1355, + "nodeType": "Block", + "src": "4483:65:8", + "statements": [ + { + "expression": { + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1347, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4505:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "arguments": [ + { + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4517:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4517:7:8", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 1348, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4512:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4512:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4526:3:8", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4512:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4505:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1354, + "nodeType": "ExpressionStatement", + "src": "4505:24:8" + } + ] + } + }, + { + "assignments": [ + 1377 + ], + "declarations": [ + { + "constant": false, + "id": 1377, + "mutability": "mutable", + "name": "diff", + "nameLocation": "4665:4:8", + "nodeType": "VariableDeclaration", + "scope": 1398, + "src": "4658:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1376, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4658:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 1391, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "4679:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1381, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4683:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4679:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4672:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1378, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4672:6:8", + "typeDescriptions": {} + } + }, + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4672:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "4698:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1387, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4702:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4698:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4691:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1384, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4691:6:8", + "typeDescriptions": {} + } + }, + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4691:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "4672:35:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4658:49:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1392, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "4729:4:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4737:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4729:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1397, + "nodeType": "IfStatement", + "src": "4725:26:8", + "trueBody": { + "expression": { + "id": 1395, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "4747:4:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1266, + "id": 1396, + "nodeType": "Return", + "src": "4740:11:8" + } + } + ] + } + }, + { + "expression": { + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1400, + "name": "selfptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4779:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4790:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4779:13:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1403, + "nodeType": "ExpressionStatement", + "src": "4779:13:8" + }, + { + "expression": { + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1404, + "name": "otherptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4806:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4818:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4806:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1407, + "nodeType": "ExpressionStatement", + "src": "4806:14:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1322, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4139:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1323, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4145:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4139:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1409, + "initializationExpression": { + "assignments": [ + 1319 + ], + "declarations": [ + { + "constant": false, + "id": 1319, + "mutability": "mutable", + "name": "idx", + "nameLocation": "4130:3:8", + "nodeType": "VariableDeclaration", + "scope": 1409, + "src": "4122:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1321, + "initialValue": { + "hexValue": "30", + "id": 1320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4136:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4122:15:8" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1325, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4155:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4162:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4155:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1328, + "nodeType": "ExpressionStatement", + "src": "4155:9:8" + }, + "nodeType": "ForStatement", + "src": "4117:714:8" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1412, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "4855:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4848:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1410, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4848:6:8", + "typeDescriptions": {} + } + }, + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4848:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "id": 1416, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "4869:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4862:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1414, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4862:6:8", + "typeDescriptions": {} + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4862:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "4848:30:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1266, + "id": 1419, + "nodeType": "Return", + "src": "4841:37:8" + } + ] + }, + "id": 1421, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compare", + "nameLocation": "3370:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1252, + "mutability": "mutable", + "name": "self", + "nameLocation": "3400:4:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3387:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1251, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3387:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1254, + "mutability": "mutable", + "name": "offset", + "nameLocation": "3422:6:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3414:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3414:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1256, + "mutability": "mutable", + "name": "len", + "nameLocation": "3446:3:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3438:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3438:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1258, + "mutability": "mutable", + "name": "other", + "nameLocation": "3472:5:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3459:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1257, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3459:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1260, + "mutability": "mutable", + "name": "otheroffset", + "nameLocation": "3495:11:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3487:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3487:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1262, + "mutability": "mutable", + "name": "otherlen", + "nameLocation": "3524:8:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3516:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3516:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3377:161:8" + }, + "returnParameters": { + "id": 1266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1265, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3562:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1264, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3562:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3561:8:8" + }, + "scope": 2017, + "src": "3361:1524:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1448, + "nodeType": "Block", + "src": "5491:84:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1437, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5515:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1438, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1425, + "src": "5521:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1439, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "5529:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1436, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "5508:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5508:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1442, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1427, + "src": "5544:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1443, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5551:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1444, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "5564:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1441, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "5537:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5537:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5508:60:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1435, + "id": 1447, + "nodeType": "Return", + "src": "5501:67:8" + } + ] + }, + "id": 1449, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "5320:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "mutability": "mutable", + "name": "self", + "nameLocation": "5349:4:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5336:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1422, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5336:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1425, + "mutability": "mutable", + "name": "offset", + "nameLocation": "5371:6:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5363:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5363:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "mutability": "mutable", + "name": "other", + "nameLocation": "5400:5:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5387:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1426, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5387:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "mutability": "mutable", + "name": "otherOffset", + "nameLocation": "5423:11:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5415:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5415:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1431, + "mutability": "mutable", + "name": "len", + "nameLocation": "5452:3:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5444:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5444:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5326:135:8" + }, + "returnParameters": { + "id": 1435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1434, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5485:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5485:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5484:6:8" + }, + "scope": 2017, + "src": "5311:264:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1480, + "nodeType": "Block", + "src": "6124:148:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1463, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1451, + "src": "6160:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1464, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6166:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1465, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1451, + "src": "6174:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6179:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6174:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1467, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6188:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6174:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1462, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "6153:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6153:42:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1471, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "6218:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1472, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1457, + "src": "6225:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1473, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "6238:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6244:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6238:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1475, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1457, + "src": "6253:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6238:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1470, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "6211:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6211:54:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6153:112:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1461, + "id": 1479, + "nodeType": "Return", + "src": "6134:131:8" + } + ] + }, + "id": 1481, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "5974:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1451, + "mutability": "mutable", + "name": "self", + "nameLocation": "6003:4:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "5990:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1450, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5990:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1453, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6025:6:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6017:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6017:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1455, + "mutability": "mutable", + "name": "other", + "nameLocation": "6054:5:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6041:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1454, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6041:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1457, + "mutability": "mutable", + "name": "otherOffset", + "nameLocation": "6077:11:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6069:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6069:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5980:114:8" + }, + "returnParameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6118:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1459, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6118:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6117:6:8" + }, + "scope": 2017, + "src": "5965:307:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1509, + "nodeType": "Block", + "src": "6761:132:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1492, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "6790:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6795:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6790:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1494, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "6805:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 1495, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6814:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6820:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6814:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6805:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6790:36:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1500, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "6849:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1501, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "6855:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1502, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6863:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6870:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1504, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6873:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6879:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6873:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1499, + "name": "equals", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1449, + 1481, + 1510, + 1535 + ], + "referencedDeclaration": 1449, + "src": "6842:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes memory,uint256,bytes memory,uint256,uint256) pure returns (bool)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6842:44:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6790:96:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1491, + "id": 1508, + "nodeType": "Return", + "src": "6771:115:8" + } + ] + }, + "id": 1510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "6640:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1483, + "mutability": "mutable", + "name": "self", + "nameLocation": "6669:4:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6656:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1482, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6656:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1485, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6691:6:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6683:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6683:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1487, + "mutability": "mutable", + "name": "other", + "nameLocation": "6720:5:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6707:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1486, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6707:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6646:85:8" + }, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6755:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1489, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6755:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6754:6:8" + }, + "scope": 2017, + "src": "6631:262:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1534, + "nodeType": "Block", + "src": "7252:117:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1519, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7281:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7286:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7281:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1521, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "7296:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7302:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7296:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7281:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1525, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7331:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7337:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1527, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "7340:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7347:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1529, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7350:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7355:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7350:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1524, + "name": "equals", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1449, + 1481, + 1510, + 1535 + ], + "referencedDeclaration": 1449, + "src": "7324:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes memory,uint256,bytes memory,uint256,uint256) pure returns (bool)" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7324:38:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7281:81:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1518, + "id": 1533, + "nodeType": "Return", + "src": "7262:100:8" + } + ] + }, + "id": 1535, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "7155:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "self", + "nameLocation": "7184:4:8", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7171:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1511, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7171:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1514, + "mutability": "mutable", + "name": "other", + "nameLocation": "7211:5:8", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7198:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1513, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7198:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7161:61:8" + }, + "returnParameters": { + "id": 1518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1517, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7246:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1516, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7246:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7245:6:8" + }, + "scope": 2017, + "src": "7146:223:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1551, + "nodeType": "Block", + "src": "7723:40:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 1546, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "7746:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1548, + "indexExpression": { + "id": 1547, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "7751:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7746:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7740:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1544, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7740:5:8", + "typeDescriptions": {} + } + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7740:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "functionReturnParameters": 1543, + "id": 1550, + "nodeType": "Return", + "src": "7733:23:8" + } + ] + }, + "id": 1552, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint8", + "nameLocation": "7625:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1537, + "mutability": "mutable", + "name": "self", + "nameLocation": "7657:4:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7644:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1536, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7644:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1539, + "mutability": "mutable", + "name": "idx", + "nameLocation": "7679:3:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7671:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7671:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7634:54:8" + }, + "returnParameters": { + "id": 1543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1542, + "mutability": "mutable", + "name": "ret", + "nameLocation": "7718:3:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7712:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1541, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7712:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "7711:11:8" + }, + "scope": 2017, + "src": "7616:147:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1571, + "nodeType": "Block", + "src": "8121:139:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1562, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1556, + "src": "8139:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8145:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8139:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1565, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1554, + "src": "8150:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8155:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8150:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8139:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1561, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8131:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8131:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1569, + "nodeType": "ExpressionStatement", + "src": "8131:31:8" + }, + { + "AST": { + "nativeSrc": "8181:73:8", + "nodeType": "YulBlock", + "src": "8181:73:8", + "statements": [ + { + "nativeSrc": "8195:49:8", + "nodeType": "YulAssignment", + "src": "8195:49:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "8220:4:8", + "nodeType": "YulIdentifier", + "src": "8220:4:8" + }, + { + "kind": "number", + "nativeSrc": "8226:1:8", + "nodeType": "YulLiteral", + "src": "8226:1:8", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8216:3:8", + "nodeType": "YulIdentifier", + "src": "8216:3:8" + }, + "nativeSrc": "8216:12:8", + "nodeType": "YulFunctionCall", + "src": "8216:12:8" + }, + { + "name": "idx", + "nativeSrc": "8230:3:8", + "nodeType": "YulIdentifier", + "src": "8230:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8212:3:8", + "nodeType": "YulIdentifier", + "src": "8212:3:8" + }, + "nativeSrc": "8212:22:8", + "nodeType": "YulFunctionCall", + "src": "8212:22:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8206:5:8", + "nodeType": "YulIdentifier", + "src": "8206:5:8" + }, + "nativeSrc": "8206:29:8", + "nodeType": "YulFunctionCall", + "src": "8206:29:8" + }, + { + "kind": "number", + "nativeSrc": "8237:6:8", + "nodeType": "YulLiteral", + "src": "8237:6:8", + "type": "", + "value": "0xFFFF" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8202:3:8", + "nodeType": "YulIdentifier", + "src": "8202:3:8" + }, + "nativeSrc": "8202:42:8", + "nodeType": "YulFunctionCall", + "src": "8202:42:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "8195:3:8", + "nodeType": "YulIdentifier", + "src": "8195:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1556, + "isOffset": false, + "isSlot": false, + "src": "8230:3:8", + "valueSize": 1 + }, + { + "declaration": 1559, + "isOffset": false, + "isSlot": false, + "src": "8195:3:8", + "valueSize": 1 + }, + { + "declaration": 1554, + "isOffset": false, + "isSlot": false, + "src": "8220:4:8", + "valueSize": 1 + } + ], + "id": 1570, + "nodeType": "InlineAssembly", + "src": "8172:82:8" + } + ] + }, + "id": 1572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint16", + "nameLocation": "8021:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1554, + "mutability": "mutable", + "name": "self", + "nameLocation": "8054:4:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8041:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1553, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8041:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1556, + "mutability": "mutable", + "name": "idx", + "nameLocation": "8076:3:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8068:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8068:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8031:54:8" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1559, + "mutability": "mutable", + "name": "ret", + "nameLocation": "8116:3:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8109:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 1558, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "8109:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "8108:12:8" + }, + "scope": 2017, + "src": "8012:248:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1591, + "nodeType": "Block", + "src": "8618:143:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1582, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "8636:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "34", + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8642:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "8636:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1585, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "8647:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8652:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8647:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8636:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1581, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8628:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8628:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1589, + "nodeType": "ExpressionStatement", + "src": "8628:31:8" + }, + { + "AST": { + "nativeSrc": "8678:77:8", + "nodeType": "YulBlock", + "src": "8678:77:8", + "statements": [ + { + "nativeSrc": "8692:53:8", + "nodeType": "YulAssignment", + "src": "8692:53:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "8717:4:8", + "nodeType": "YulIdentifier", + "src": "8717:4:8" + }, + { + "kind": "number", + "nativeSrc": "8723:1:8", + "nodeType": "YulLiteral", + "src": "8723:1:8", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8713:3:8", + "nodeType": "YulIdentifier", + "src": "8713:3:8" + }, + "nativeSrc": "8713:12:8", + "nodeType": "YulFunctionCall", + "src": "8713:12:8" + }, + { + "name": "idx", + "nativeSrc": "8727:3:8", + "nodeType": "YulIdentifier", + "src": "8727:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8709:3:8", + "nodeType": "YulIdentifier", + "src": "8709:3:8" + }, + "nativeSrc": "8709:22:8", + "nodeType": "YulFunctionCall", + "src": "8709:22:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8703:5:8", + "nodeType": "YulIdentifier", + "src": "8703:5:8" + }, + "nativeSrc": "8703:29:8", + "nodeType": "YulFunctionCall", + "src": "8703:29:8" + }, + { + "kind": "number", + "nativeSrc": "8734:10:8", + "nodeType": "YulLiteral", + "src": "8734:10:8", + "type": "", + "value": "0xFFFFFFFF" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8699:3:8", + "nodeType": "YulIdentifier", + "src": "8699:3:8" + }, + "nativeSrc": "8699:46:8", + "nodeType": "YulFunctionCall", + "src": "8699:46:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "8692:3:8", + "nodeType": "YulIdentifier", + "src": "8692:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1576, + "isOffset": false, + "isSlot": false, + "src": "8727:3:8", + "valueSize": 1 + }, + { + "declaration": 1579, + "isOffset": false, + "isSlot": false, + "src": "8692:3:8", + "valueSize": 1 + }, + { + "declaration": 1574, + "isOffset": false, + "isSlot": false, + "src": "8717:4:8", + "valueSize": 1 + } + ], + "id": 1590, + "nodeType": "InlineAssembly", + "src": "8669:86:8" + } + ] + }, + "id": 1592, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint32", + "nameLocation": "8518:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1577, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1574, + "mutability": "mutable", + "name": "self", + "nameLocation": "8551:4:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8538:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1573, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8538:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1576, + "mutability": "mutable", + "name": "idx", + "nameLocation": "8573:3:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8565:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8565:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8528:54:8" + }, + "returnParameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1579, + "mutability": "mutable", + "name": "ret", + "nameLocation": "8613:3:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8606:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 1578, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8606:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "8605:12:8" + }, + "scope": 2017, + "src": "8509:252:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1611, + "nodeType": "Block", + "src": "9095:128:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1602, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "9113:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3332", + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9119:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "9113:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1605, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "9125:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9130:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9125:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9113:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1601, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9105:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9105:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1609, + "nodeType": "ExpressionStatement", + "src": "9105:32:8" + }, + { + "AST": { + "nativeSrc": "9156:61:8", + "nodeType": "YulBlock", + "src": "9156:61:8", + "statements": [ + { + "nativeSrc": "9170:37:8", + "nodeType": "YulAssignment", + "src": "9170:37:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "9191:4:8", + "nodeType": "YulIdentifier", + "src": "9191:4:8" + }, + { + "kind": "number", + "nativeSrc": "9197:2:8", + "nodeType": "YulLiteral", + "src": "9197:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9187:3:8", + "nodeType": "YulIdentifier", + "src": "9187:3:8" + }, + "nativeSrc": "9187:13:8", + "nodeType": "YulFunctionCall", + "src": "9187:13:8" + }, + { + "name": "idx", + "nativeSrc": "9202:3:8", + "nodeType": "YulIdentifier", + "src": "9202:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9183:3:8", + "nodeType": "YulIdentifier", + "src": "9183:3:8" + }, + "nativeSrc": "9183:23:8", + "nodeType": "YulFunctionCall", + "src": "9183:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9177:5:8", + "nodeType": "YulIdentifier", + "src": "9177:5:8" + }, + "nativeSrc": "9177:30:8", + "nodeType": "YulFunctionCall", + "src": "9177:30:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "9170:3:8", + "nodeType": "YulIdentifier", + "src": "9170:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1596, + "isOffset": false, + "isSlot": false, + "src": "9202:3:8", + "valueSize": 1 + }, + { + "declaration": 1599, + "isOffset": false, + "isSlot": false, + "src": "9170:3:8", + "valueSize": 1 + }, + { + "declaration": 1594, + "isOffset": false, + "isSlot": false, + "src": "9191:4:8", + "valueSize": 1 + } + ], + "id": 1610, + "nodeType": "InlineAssembly", + "src": "9147:70:8" + } + ] + }, + "id": 1612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes32", + "nameLocation": "8993:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1594, + "mutability": "mutable", + "name": "self", + "nameLocation": "9027:4:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9014:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1593, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9014:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1596, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9049:3:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9041:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9004:54:8" + }, + "returnParameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1599, + "mutability": "mutable", + "name": "ret", + "nameLocation": "9090:3:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9082:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1598, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9082:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9081:13:8" + }, + "scope": 2017, + "src": "8984:239:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1631, + "nodeType": "Block", + "src": "9557:247:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1622, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "9575:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3230", + "id": 1623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9581:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "9575:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1625, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1614, + "src": "9587:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9592:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9587:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9575:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1621, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9567:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9567:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1629, + "nodeType": "ExpressionStatement", + "src": "9567:32:8" + }, + { + "AST": { + "nativeSrc": "9618:180:8", + "nodeType": "YulBlock", + "src": "9618:180:8", + "statements": [ + { + "nativeSrc": "9632:156:8", + "nodeType": "YulAssignment", + "src": "9632:156:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "9674:4:8", + "nodeType": "YulIdentifier", + "src": "9674:4:8" + }, + { + "kind": "number", + "nativeSrc": "9680:2:8", + "nodeType": "YulLiteral", + "src": "9680:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9670:3:8", + "nodeType": "YulIdentifier", + "src": "9670:3:8" + }, + "nativeSrc": "9670:13:8", + "nodeType": "YulFunctionCall", + "src": "9670:13:8" + }, + { + "name": "idx", + "nativeSrc": "9685:3:8", + "nodeType": "YulIdentifier", + "src": "9685:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9666:3:8", + "nodeType": "YulIdentifier", + "src": "9666:3:8" + }, + "nativeSrc": "9666:23:8", + "nodeType": "YulFunctionCall", + "src": "9666:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9660:5:8", + "nodeType": "YulIdentifier", + "src": "9660:5:8" + }, + "nativeSrc": "9660:30:8", + "nodeType": "YulFunctionCall", + "src": "9660:30:8" + }, + { + "kind": "number", + "nativeSrc": "9708:66:8", + "nodeType": "YulLiteral", + "src": "9708:66:8", + "type": "", + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9639:3:8", + "nodeType": "YulIdentifier", + "src": "9639:3:8" + }, + "nativeSrc": "9639:149:8", + "nodeType": "YulFunctionCall", + "src": "9639:149:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "9632:3:8", + "nodeType": "YulIdentifier", + "src": "9632:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1616, + "isOffset": false, + "isSlot": false, + "src": "9685:3:8", + "valueSize": 1 + }, + { + "declaration": 1619, + "isOffset": false, + "isSlot": false, + "src": "9632:3:8", + "valueSize": 1 + }, + { + "declaration": 1614, + "isOffset": false, + "isSlot": false, + "src": "9674:4:8", + "valueSize": 1 + } + ], + "id": 1630, + "nodeType": "InlineAssembly", + "src": "9609:189:8" + } + ] + }, + "id": 1632, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes20", + "nameLocation": "9455:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1614, + "mutability": "mutable", + "name": "self", + "nameLocation": "9489:4:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9476:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1613, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9476:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9511:3:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9503:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9503:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9466:54:8" + }, + "returnParameters": { + "id": 1620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1619, + "mutability": "mutable", + "name": "ret", + "nameLocation": "9552:3:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9544:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 1618, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "9544:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "src": "9543:13:8" + }, + "scope": 2017, + "src": "9446:358:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1659, + "nodeType": "Block", + "src": "10197:228:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1644, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "10215:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3332", + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10222:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10215:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1643, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10207:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10207:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1648, + "nodeType": "ExpressionStatement", + "src": "10207:18:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1650, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "10243:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1651, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "10249:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10243:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1653, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "10256:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10261:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10256:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10243:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10235:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10235:33:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "10235:33:8" + }, + { + "AST": { + "nativeSrc": "10287:132:8", + "nodeType": "YulBlock", + "src": "10287:132:8", + "statements": [ + { + "nativeSrc": "10301:47:8", + "nodeType": "YulVariableDeclaration", + "src": "10301:47:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10325:3:8", + "nodeType": "YulLiteral", + "src": "10325:3:8", + "type": "", + "value": "256" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10334:2:8", + "nodeType": "YulLiteral", + "src": "10334:2:8", + "type": "", + "value": "32" + }, + { + "name": "len", + "nativeSrc": "10338:3:8", + "nodeType": "YulIdentifier", + "src": "10338:3:8" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10330:3:8", + "nodeType": "YulIdentifier", + "src": "10330:3:8" + }, + "nativeSrc": "10330:12:8", + "nodeType": "YulFunctionCall", + "src": "10330:12:8" + } + ], + "functionName": { + "name": "exp", + "nativeSrc": "10321:3:8", + "nodeType": "YulIdentifier", + "src": "10321:3:8" + }, + "nativeSrc": "10321:22:8", + "nodeType": "YulFunctionCall", + "src": "10321:22:8" + }, + { + "kind": "number", + "nativeSrc": "10345:1:8", + "nodeType": "YulLiteral", + "src": "10345:1:8", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10317:3:8", + "nodeType": "YulIdentifier", + "src": "10317:3:8" + }, + "nativeSrc": "10317:30:8", + "nodeType": "YulFunctionCall", + "src": "10317:30:8" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10313:3:8", + "nodeType": "YulIdentifier", + "src": "10313:3:8" + }, + "nativeSrc": "10313:35:8", + "nodeType": "YulFunctionCall", + "src": "10313:35:8" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "10305:4:8", + "nodeType": "YulTypedName", + "src": "10305:4:8", + "type": "" + } + ] + }, + { + "nativeSrc": "10361:48:8", + "nodeType": "YulAssignment", + "src": "10361:48:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "10386:4:8", + "nodeType": "YulIdentifier", + "src": "10386:4:8" + }, + { + "kind": "number", + "nativeSrc": "10392:2:8", + "nodeType": "YulLiteral", + "src": "10392:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10382:3:8", + "nodeType": "YulIdentifier", + "src": "10382:3:8" + }, + "nativeSrc": "10382:13:8", + "nodeType": "YulFunctionCall", + "src": "10382:13:8" + }, + { + "name": "idx", + "nativeSrc": "10397:3:8", + "nodeType": "YulIdentifier", + "src": "10397:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10378:3:8", + "nodeType": "YulIdentifier", + "src": "10378:3:8" + }, + "nativeSrc": "10378:23:8", + "nodeType": "YulFunctionCall", + "src": "10378:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10372:5:8", + "nodeType": "YulIdentifier", + "src": "10372:5:8" + }, + "nativeSrc": "10372:30:8", + "nodeType": "YulFunctionCall", + "src": "10372:30:8" + }, + { + "name": "mask", + "nativeSrc": "10404:4:8", + "nodeType": "YulIdentifier", + "src": "10404:4:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10368:3:8", + "nodeType": "YulIdentifier", + "src": "10368:3:8" + }, + "nativeSrc": "10368:41:8", + "nodeType": "YulFunctionCall", + "src": "10368:41:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "10361:3:8", + "nodeType": "YulIdentifier", + "src": "10361:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "10397:3:8", + "valueSize": 1 + }, + { + "declaration": 1638, + "isOffset": false, + "isSlot": false, + "src": "10338:3:8", + "valueSize": 1 + }, + { + "declaration": 1641, + "isOffset": false, + "isSlot": false, + "src": "10361:3:8", + "valueSize": 1 + }, + { + "declaration": 1634, + "isOffset": false, + "isSlot": false, + "src": "10386:4:8", + "valueSize": 1 + } + ], + "id": 1658, + "nodeType": "InlineAssembly", + "src": "10278:141:8" + } + ] + }, + "id": 1660, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytesN", + "nameLocation": "10075:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1634, + "mutability": "mutable", + "name": "self", + "nameLocation": "10108:4:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10095:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1633, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10095:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "idx", + "nameLocation": "10130:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10122:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1635, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1638, + "mutability": "mutable", + "name": "len", + "nameLocation": "10151:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10143:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10143:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10085:75:8" + }, + "returnParameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "ret", + "nameLocation": "10192:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10184:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1640, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10184:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10183:13:8" + }, + "scope": 2017, + "src": "10066:359:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1701, + "nodeType": "Block", + "src": "10500:548:8", + "statements": [ + { + "body": { + "id": 1685, + "nodeType": "Block", + "src": "10589:136:8", + "statements": [ + { + "AST": { + "nativeSrc": "10612:56:8", + "nodeType": "YulBlock", + "src": "10612:56:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10637:4:8", + "nodeType": "YulIdentifier", + "src": "10637:4:8" + }, + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10649:3:8", + "nodeType": "YulIdentifier", + "src": "10649:3:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10643:5:8", + "nodeType": "YulIdentifier", + "src": "10643:5:8" + }, + "nativeSrc": "10643:10:8", + "nodeType": "YulFunctionCall", + "src": "10643:10:8" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10630:6:8", + "nodeType": "YulIdentifier", + "src": "10630:6:8" + }, + "nativeSrc": "10630:24:8", + "nodeType": "YulFunctionCall", + "src": "10630:24:8" + }, + "nativeSrc": "10630:24:8", + "nodeType": "YulExpressionStatement", + "src": "10630:24:8" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10637:4:8", + "valueSize": 1 + }, + { + "declaration": 1664, + "isOffset": false, + "isSlot": false, + "src": "10649:3:8", + "valueSize": 1 + } + ], + "id": 1676, + "nodeType": "InlineAssembly", + "src": "10603:65:8" + }, + { + "expression": { + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1677, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1662, + "src": "10681:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10689:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10681:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1680, + "nodeType": "ExpressionStatement", + "src": "10681:10:8" + }, + { + "expression": { + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1681, + "name": "src", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1664, + "src": "10705:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10712:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10705:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1684, + "nodeType": "ExpressionStatement", + "src": "10705:9:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1669, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10567:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10574:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10567:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1686, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1672, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10578:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "3332", + "id": 1673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10585:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10578:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1675, + "nodeType": "ExpressionStatement", + "src": "10578:9:8" + }, + "nodeType": "ForStatement", + "src": "10560:165:8" + }, + { + "id": 1700, + "nodeType": "UncheckedBlock", + "src": "10767:275:8", + "statements": [ + { + "assignments": [ + 1688 + ], + "declarations": [ + { + "constant": false, + "id": 1688, + "mutability": "mutable", + "name": "mask", + "nameLocation": "10799:4:8", + "nodeType": "VariableDeclaration", + "scope": 1700, + "src": "10791:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10791:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1698, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "323536", + "id": 1689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10807:3:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10815:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1691, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10820:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10815:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1693, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10814:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10807:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1695, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10806:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10828:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10806:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10791:38:8" + }, + { + "AST": { + "nativeSrc": "10852:180:8", + "nodeType": "YulBlock", + "src": "10852:180:8", + "statements": [ + { + "nativeSrc": "10870:41:8", + "nodeType": "YulVariableDeclaration", + "src": "10870:41:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10895:3:8", + "nodeType": "YulIdentifier", + "src": "10895:3:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10889:5:8", + "nodeType": "YulIdentifier", + "src": "10889:5:8" + }, + "nativeSrc": "10889:10:8", + "nodeType": "YulFunctionCall", + "src": "10889:10:8" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "10905:4:8", + "nodeType": "YulIdentifier", + "src": "10905:4:8" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10901:3:8", + "nodeType": "YulIdentifier", + "src": "10901:3:8" + }, + "nativeSrc": "10901:9:8", + "nodeType": "YulFunctionCall", + "src": "10901:9:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10885:3:8", + "nodeType": "YulIdentifier", + "src": "10885:3:8" + }, + "nativeSrc": "10885:26:8", + "nodeType": "YulFunctionCall", + "src": "10885:26:8" + }, + "variables": [ + { + "name": "srcpart", + "nativeSrc": "10874:7:8", + "nodeType": "YulTypedName", + "src": "10874:7:8", + "type": "" + } + ] + }, + { + "nativeSrc": "10928:38:8", + "nodeType": "YulVariableDeclaration", + "src": "10928:38:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10954:4:8", + "nodeType": "YulIdentifier", + "src": "10954:4:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10948:5:8", + "nodeType": "YulIdentifier", + "src": "10948:5:8" + }, + "nativeSrc": "10948:11:8", + "nodeType": "YulFunctionCall", + "src": "10948:11:8" + }, + { + "name": "mask", + "nativeSrc": "10961:4:8", + "nodeType": "YulIdentifier", + "src": "10961:4:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10944:3:8", + "nodeType": "YulIdentifier", + "src": "10944:3:8" + }, + "nativeSrc": "10944:22:8", + "nodeType": "YulFunctionCall", + "src": "10944:22:8" + }, + "variables": [ + { + "name": "destpart", + "nativeSrc": "10932:8:8", + "nodeType": "YulTypedName", + "src": "10932:8:8", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10990:4:8", + "nodeType": "YulIdentifier", + "src": "10990:4:8" + }, + { + "arguments": [ + { + "name": "destpart", + "nativeSrc": "10999:8:8", + "nodeType": "YulIdentifier", + "src": "10999:8:8" + }, + { + "name": "srcpart", + "nativeSrc": "11009:7:8", + "nodeType": "YulIdentifier", + "src": "11009:7:8" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "10996:2:8", + "nodeType": "YulIdentifier", + "src": "10996:2:8" + }, + "nativeSrc": "10996:21:8", + "nodeType": "YulFunctionCall", + "src": "10996:21:8" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10983:6:8", + "nodeType": "YulIdentifier", + "src": "10983:6:8" + }, + "nativeSrc": "10983:35:8", + "nodeType": "YulFunctionCall", + "src": "10983:35:8" + }, + "nativeSrc": "10983:35:8", + "nodeType": "YulExpressionStatement", + "src": "10983:35:8" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10954:4:8", + "valueSize": 1 + }, + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10990:4:8", + "valueSize": 1 + }, + { + "declaration": 1688, + "isOffset": false, + "isSlot": false, + "src": "10905:4:8", + "valueSize": 1 + }, + { + "declaration": 1688, + "isOffset": false, + "isSlot": false, + "src": "10961:4:8", + "valueSize": 1 + }, + { + "declaration": 1664, + "isOffset": false, + "isSlot": false, + "src": "10895:3:8", + "valueSize": 1 + } + ], + "id": 1699, + "nodeType": "InlineAssembly", + "src": "10843:189:8" + } + ] + } + ] + }, + "id": 1702, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "memcpy", + "nameLocation": "10440:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1662, + "mutability": "mutable", + "name": "dest", + "nameLocation": "10455:4:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10447:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10447:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1664, + "mutability": "mutable", + "name": "src", + "nameLocation": "10469:3:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10461:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10461:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1666, + "mutability": "mutable", + "name": "len", + "nameLocation": "10482:3:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10474:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10474:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10446:40:8" + }, + "returnParameters": { + "id": 1668, + "nodeType": "ParameterList", + "parameters": [], + "src": "10500:0:8" + }, + "scope": 2017, + "src": "10431:617:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 1744, + "nodeType": "Block", + "src": "11407:302:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1714, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1706, + "src": "11425:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1715, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11434:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11425:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1717, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "11441:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11446:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11441:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11425:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1713, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11417:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11417:36:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1721, + "nodeType": "ExpressionStatement", + "src": "11417:36:8" + }, + { + "assignments": [ + 1723 + ], + "declarations": [ + { + "constant": false, + "id": 1723, + "mutability": "mutable", + "name": "ret", + "nameLocation": "11477:3:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11464:16:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1722, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11464:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1728, + "initialValue": { + "arguments": [ + { + "id": 1726, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11493:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11483:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1724, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11487:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11483:14:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11464:33:8" + }, + { + "assignments": [ + 1730 + ], + "declarations": [ + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "dest", + "nameLocation": "11515:4:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11507:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11507:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1731, + "nodeType": "VariableDeclarationStatement", + "src": "11507:12:8" + }, + { + "assignments": [ + 1733 + ], + "declarations": [ + { + "constant": false, + "id": 1733, + "mutability": "mutable", + "name": "src", + "nameLocation": "11537:3:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11529:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1734, + "nodeType": "VariableDeclarationStatement", + "src": "11529:11:8" + }, + { + "AST": { + "nativeSrc": "11560:90:8", + "nodeType": "YulBlock", + "src": "11560:90:8", + "statements": [ + { + "nativeSrc": "11574:20:8", + "nodeType": "YulAssignment", + "src": "11574:20:8", + "value": { + "arguments": [ + { + "name": "ret", + "nativeSrc": "11586:3:8", + "nodeType": "YulIdentifier", + "src": "11586:3:8" + }, + { + "kind": "number", + "nativeSrc": "11591:2:8", + "nodeType": "YulLiteral", + "src": "11591:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11582:3:8", + "nodeType": "YulIdentifier", + "src": "11582:3:8" + }, + "nativeSrc": "11582:12:8", + "nodeType": "YulFunctionCall", + "src": "11582:12:8" + }, + "variableNames": [ + { + "name": "dest", + "nativeSrc": "11574:4:8", + "nodeType": "YulIdentifier", + "src": "11574:4:8" + } + ] + }, + { + "nativeSrc": "11607:33:8", + "nodeType": "YulAssignment", + "src": "11607:33:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "11622:4:8", + "nodeType": "YulIdentifier", + "src": "11622:4:8" + }, + { + "kind": "number", + "nativeSrc": "11628:2:8", + "nodeType": "YulLiteral", + "src": "11628:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11618:3:8", + "nodeType": "YulIdentifier", + "src": "11618:3:8" + }, + "nativeSrc": "11618:13:8", + "nodeType": "YulFunctionCall", + "src": "11618:13:8" + }, + { + "name": "offset", + "nativeSrc": "11633:6:8", + "nodeType": "YulIdentifier", + "src": "11633:6:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11614:3:8", + "nodeType": "YulIdentifier", + "src": "11614:3:8" + }, + "nativeSrc": "11614:26:8", + "nodeType": "YulFunctionCall", + "src": "11614:26:8" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "11607:3:8", + "nodeType": "YulIdentifier", + "src": "11607:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1730, + "isOffset": false, + "isSlot": false, + "src": "11574:4:8", + "valueSize": 1 + }, + { + "declaration": 1706, + "isOffset": false, + "isSlot": false, + "src": "11633:6:8", + "valueSize": 1 + }, + { + "declaration": 1723, + "isOffset": false, + "isSlot": false, + "src": "11586:3:8", + "valueSize": 1 + }, + { + "declaration": 1704, + "isOffset": false, + "isSlot": false, + "src": "11622:4:8", + "valueSize": 1 + }, + { + "declaration": 1733, + "isOffset": false, + "isSlot": false, + "src": "11607:3:8", + "valueSize": 1 + } + ], + "id": 1735, + "nodeType": "InlineAssembly", + "src": "11551:99:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1737, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "11666:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1738, + "name": "src", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1733, + "src": "11672:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1739, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11677:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1736, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "11659:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) pure" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11659:22:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1741, + "nodeType": "ExpressionStatement", + "src": "11659:22:8" + }, + { + "expression": { + "id": 1742, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1723, + "src": "11699:3:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1712, + "id": 1743, + "nodeType": "Return", + "src": "11692:10:8" + } + ] + }, + "id": 1745, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "substring", + "nameLocation": "11282:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "self", + "nameLocation": "11314:4:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11301:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1703, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11301:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1706, + "mutability": "mutable", + "name": "offset", + "nameLocation": "11336:6:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11328:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11328:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1708, + "mutability": "mutable", + "name": "len", + "nameLocation": "11360:3:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11352:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11352:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11291:78:8" + }, + "returnParameters": { + "id": 1712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1711, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11393:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1710, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11393:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11392:14:8" + }, + "scope": 2017, + "src": "11273:436:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "id": 1748, + "mutability": "constant", + "name": "base32HexTable", + "nameLocation": "11852:14:8", + "nodeType": "VariableDeclaration", + "scope": 2017, + "src": "11837:187:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1746, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11837:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "00010203040506070809ffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1fffffffffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11877:147:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e82410dbf01e63aa72c1e18aee3deb28d15751fdce22e55714ad62f7fde606a", + "typeString": "literal_string hex\"00010203040506070809ffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1fffffffffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 1971, + "nodeType": "Block", + "src": "12443:1318:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1761, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12461:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3532", + "id": 1762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12468:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "src": "12461:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1760, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12453:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12453:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1765, + "nodeType": "ExpressionStatement", + "src": "12453:18:8" + }, + { + "assignments": [ + 1767 + ], + "declarations": [ + { + "constant": false, + "id": 1767, + "mutability": "mutable", + "name": "ret", + "nameLocation": "12490:3:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12482:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1766, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12482:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1769, + "initialValue": { + "hexValue": "30", + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12496:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12482:15:8" + }, + { + "assignments": [ + 1771 + ], + "declarations": [ + { + "constant": false, + "id": 1771, + "mutability": "mutable", + "name": "decoded", + "nameLocation": "12513:7:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12507:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1770, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12507:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 1772, + "nodeType": "VariableDeclarationStatement", + "src": "12507:13:8" + }, + { + "body": { + "id": 1841, + "nodeType": "Block", + "src": "12564:324:8", + "statements": [ + { + "assignments": [ + 1784 + ], + "declarations": [ + { + "constant": false, + "id": 1784, + "mutability": "mutable", + "name": "char", + "nameLocation": "12585:4:8", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "12578:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 1783, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "12578:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "id": 1790, + "initialValue": { + "baseExpression": { + "id": 1785, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1751, + "src": "12592:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1789, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1786, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "12597:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1787, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12603:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12597:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12592:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12578:27:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1792, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12627:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30783330", + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12635:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "12627:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1795, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12643:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783741", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12651:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_122_by_1", + "typeString": "int_const 122" + }, + "value": "0x7A" + }, + "src": "12643:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12627:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1791, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12619:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1800, + "nodeType": "ExpressionStatement", + "src": "12619:37:8" + }, + { + "expression": { + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1801, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12670:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 1804, + "name": "base32HexTable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1748, + "src": "12686:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1814, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1809, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12715:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12709:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1807, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12709:5:8", + "typeDescriptions": {} + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12709:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12701:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12701:7:8", + "typeDescriptions": {} + } + }, + "id": 1811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12701:20:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "30783330", + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12724:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "12701:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12686:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12680:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1802, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12680:5:8", + "typeDescriptions": {} + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12680:50:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "12670:60:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 1817, + "nodeType": "ExpressionStatement", + "src": "12670:60:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1819, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12752:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783230", + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12763:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "12752:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12744:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12744:24:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1823, + "nodeType": "ExpressionStatement", + "src": "12744:24:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1824, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12786:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1825, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12791:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12797:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12791:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12786:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1831, + "nodeType": "IfStatement", + "src": "12782:56:8", + "trueBody": { + "id": 1830, + "nodeType": "Block", + "src": "12800:38:8", + "statements": [ + { + "id": 1829, + "nodeType": "Break", + "src": "12818:5:8" + } + ] + } + }, + { + "expression": { + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1832, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "12851:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1833, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "12858:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "35", + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12865:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "12858:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1836, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12857:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 1837, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12870:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "12857:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12851:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1840, + "nodeType": "ExpressionStatement", + "src": "12851:26:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1777, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12550:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1778, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12554:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12550:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1842, + "initializationExpression": { + "assignments": [ + 1774 + ], + "declarations": [ + { + "constant": false, + "id": 1774, + "mutability": "mutable", + "name": "i", + "nameLocation": "12543:1:8", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "12535:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12535:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1776, + "initialValue": { + "hexValue": "30", + "id": 1775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12547:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12535:13:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12559:3:8", + "subExpression": { + "id": 1780, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12559:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1782, + "nodeType": "ExpressionStatement", + "src": "12559:3:8" + }, + "nodeType": "ForStatement", + "src": "12530:358:8" + }, + { + "assignments": [ + 1844 + ], + "declarations": [ + { + "constant": false, + "id": 1844, + "mutability": "mutable", + "name": "bitlen", + "nameLocation": "12906:6:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12898:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12898:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1848, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1845, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12915:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "35", + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12921:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "12915:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12898:24:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1849, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12936:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12942:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12947:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12936:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1864, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13063:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13069:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13063:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "32", + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13074:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13063:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1886, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13215:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13221:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "34", + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13226:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13215:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1908, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13369:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13375:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13369:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "35", + "id": 1911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13380:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "13369:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1930, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13523:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13529:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "37", + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13534:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "13523:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1955, + "nodeType": "Block", + "src": "13674:33:8", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1952, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "13688:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13688:8:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1954, + "nodeType": "ExpressionStatement", + "src": "13688:8:8" + } + ] + }, + "id": 1956, + "nodeType": "IfStatement", + "src": "13519:188:8", + "trueBody": { + "id": 1951, + "nodeType": "Block", + "src": "13537:131:8", + "statements": [ + { + "expression": { + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1935, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13599:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1936, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13606:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "32", + "id": 1937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13613:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13606:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1939, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13605:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1940, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "33", + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13630:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13619:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1943, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13618:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13605:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13599:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1946, + "nodeType": "ExpressionStatement", + "src": "13599:33:8" + }, + { + "expression": { + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1947, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13646:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "33", + "id": 1948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13656:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13646:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1950, + "nodeType": "ExpressionStatement", + "src": "13646:11:8" + } + ] + } + }, + "id": 1957, + "nodeType": "IfStatement", + "src": "13365:342:8", + "trueBody": { + "id": 1929, + "nodeType": "Block", + "src": "13383:130:8", + "statements": [ + { + "expression": { + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1913, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13444:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1914, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13451:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "34", + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13458:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13451:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1917, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13450:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1918, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13464:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13475:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13464:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1921, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13463:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13450:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13444:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1924, + "nodeType": "ExpressionStatement", + "src": "13444:33:8" + }, + { + "expression": { + "id": 1927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1925, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13491:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 1926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13501:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13491:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1928, + "nodeType": "ExpressionStatement", + "src": "13491:11:8" + } + ] + } + }, + "id": 1958, + "nodeType": "IfStatement", + "src": "13211:496:8", + "trueBody": { + "id": 1907, + "nodeType": "Block", + "src": "13229:130:8", + "statements": [ + { + "expression": { + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1891, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13290:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1892, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13297:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "31", + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13304:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13297:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1895, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13296:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1896, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13310:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "34", + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13321:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13310:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1899, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13309:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13296:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13290:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1902, + "nodeType": "ExpressionStatement", + "src": "13290:33:8" + }, + { + "expression": { + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1903, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13337:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "34", + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13347:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13337:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1906, + "nodeType": "ExpressionStatement", + "src": "13337:11:8" + } + ] + } + }, + "id": 1959, + "nodeType": "IfStatement", + "src": "13059:648:8", + "trueBody": { + "id": 1885, + "nodeType": "Block", + "src": "13077:128:8", + "statements": [ + { + "expression": { + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1869, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13136:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1870, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13143:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "33", + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13150:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13143:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1873, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13142:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1874, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13156:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "32", + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13167:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13156:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1877, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13155:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13142:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13136:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1880, + "nodeType": "ExpressionStatement", + "src": "13136:33:8" + }, + { + "expression": { + "id": 1883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1881, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13183:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "32", + "id": 1882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13193:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13183:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1884, + "nodeType": "ExpressionStatement", + "src": "13183:11:8" + } + ] + } + }, + "id": 1960, + "nodeType": "IfStatement", + "src": "12932:775:8", + "trueBody": { + "id": 1863, + "nodeType": "Block", + "src": "12950:103:8", + "statements": [ + { + "expression": { + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1854, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13016:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1855, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13023:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "35", + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13030:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "13023:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1858, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13022:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 1859, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13035:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13022:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13016:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1862, + "nodeType": "ExpressionStatement", + "src": "13016:26:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1963, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13732:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "323536", + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13740:3:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1965, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13746:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13740:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1967, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13739:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13732:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13724:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1961, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13724:7:8", + "typeDescriptions": {} + } + }, + "id": 1969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13724:30:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1759, + "id": 1970, + "nodeType": "Return", + "src": "13717:37:8" + } + ] + }, + "documentation": { + "id": 1749, + "nodeType": "StructuredDocumentation", + "src": "12031:271:8", + "text": " @dev Decodes unpadded base32 data of up to one word in length.\n @param self The data to decode.\n @param off Offset into the string to start at.\n @param len Number of characters to decode.\n @return The decoded data, left aligned." + }, + "id": 1972, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "base32HexDecodeWord", + "nameLocation": "12316:19:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1751, + "mutability": "mutable", + "name": "self", + "nameLocation": "12358:4:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12345:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1750, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12345:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1753, + "mutability": "mutable", + "name": "off", + "nameLocation": "12380:3:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12372:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12372:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "len", + "nameLocation": "12401:3:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12393:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12393:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12335:75:8" + }, + "returnParameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1758, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12434:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12434:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12433:9:8" + }, + "scope": 2017, + "src": "12307:1454:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2015, + "nodeType": "Block", + "src": "14263:190:8", + "statements": [ + { + "body": { + "id": 2007, + "nodeType": "Block", + "src": "14321:92:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1998, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1975, + "src": "14339:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2000, + "indexExpression": { + "id": 1999, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14344:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14339:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2001, + "name": "needle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1981, + "src": "14352:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "14339:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2006, + "nodeType": "IfStatement", + "src": "14335:68:8", + "trueBody": { + "id": 2005, + "nodeType": "Block", + "src": "14360:43:8", + "statements": [ + { + "expression": { + "id": 2003, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14385:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1985, + "id": 2004, + "nodeType": "Return", + "src": "14378:10:8" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1990, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14297:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1991, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "14303:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1992, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "14309:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14303:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14297:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2008, + "initializationExpression": { + "assignments": [ + 1987 + ], + "declarations": [ + { + "constant": false, + "id": 1987, + "mutability": "mutable", + "name": "idx", + "nameLocation": "14286:3:8", + "nodeType": "VariableDeclaration", + "scope": 2008, + "src": "14278:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14278:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1989, + "initialValue": { + "id": 1988, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "14292:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14278:17:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14314:5:8", + "subExpression": { + "id": 1995, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14314:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1997, + "nodeType": "ExpressionStatement", + "src": "14314:5:8" + }, + "nodeType": "ForStatement", + "src": "14273:140:8" + }, + { + "expression": { + "expression": { + "arguments": [ + { + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14434:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14434:7:8", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 2009, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "14429:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14429:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14443:3:8", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "14429:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1985, + "id": 2014, + "nodeType": "Return", + "src": "14422:24:8" + } + ] + }, + "documentation": { + "id": 1973, + "nodeType": "StructuredDocumentation", + "src": "13767:347:8", + "text": " @dev Finds the first occurrence of the byte `needle` in `self`.\n @param self The string to search\n @param off The offset to start searching at\n @param len The number of bytes to search\n @param needle The byte to search for\n @return The offset of `needle` in `self`, or 2**256-1 if it was not found." + }, + "id": 2016, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "find", + "nameLocation": "14128:4:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1975, + "mutability": "mutable", + "name": "self", + "nameLocation": "14155:4:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14142:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1974, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14142:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1977, + "mutability": "mutable", + "name": "off", + "nameLocation": "14177:3:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14169:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14169:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "len", + "nameLocation": "14198:3:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14190:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1978, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14190:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1981, + "mutability": "mutable", + "name": "needle", + "nameLocation": "14218:6:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14211:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 1980, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "14211:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "src": "14132:98:8" + }, + "returnParameters": { + "id": 1985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1984, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14254:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14254:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14253:9:8" + }, + "scope": 2017, + "src": "14119:334:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2018, + "src": "56:14399:8", + "usedErrors": [ + 1089 + ], + "usedEvents": [] + } + ], + "src": "31:14425:8" + }, + "id": 8 + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol", + "exportedSymbols": { + "IMetadataService": [ + 2027 + ] + }, + "id": 2028, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2019, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IMetadataService", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2027, + "linearizedBaseContracts": [ + 2027 + ], + "name": "IMetadataService", + "nameLocation": "67:16:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "0e89341c", + "id": 2026, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "99:3:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2021, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "103:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2020, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "103:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "102:9:9" + }, + "returnParameters": { + "id": 2025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2024, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "135:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "135:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "134:15:9" + }, + "scope": 2027, + "src": "90:60:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2028, + "src": "57:95:9", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:122:9" + }, + "id": 9 + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "exportedSymbols": { + "CANNOT_APPROVE": [ + 2055 + ], + "CANNOT_BURN_FUSES": [ + 2040 + ], + "CANNOT_CREATE_SUBDOMAIN": [ + 2052 + ], + "CANNOT_SET_RESOLVER": [ + 2046 + ], + "CANNOT_SET_TTL": [ + 2049 + ], + "CANNOT_TRANSFER": [ + 2043 + ], + "CANNOT_UNWRAP": [ + 2037 + ], + "CAN_DO_EVERYTHING": [ + 2073 + ], + "CAN_EXTEND_EXPIRY": [ + 2070 + ], + "ENS": [ + 1030 + ], + "IBaseRegistrar": [ + 893 + ], + "IERC1155": [ + 2541 + ], + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ], + "IMetadataService": [ + 2027 + ], + "INameWrapper": [ + 2401 + ], + "INameWrapperUpgrade": [ + 2419 + ], + "IS_DOT_ETH": [ + 2065 + ], + "PARENT_CANNOT_CONTROL": [ + 2060 + ], + "PARENT_CONTROLLED_FUSES": [ + 2076 + ], + "USER_SETTABLE_FUSES": [ + 2079 + ] + }, + "id": 2402, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2029, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:10" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "../registry/ENS.sol", + "id": 2030, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 1031, + "src": "57:29:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "file": "../ethregistrar/IBaseRegistrar.sol", + "id": 2031, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 894, + "src": "87:44:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "file": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "id": 2032, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2542, + "src": "132:60:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol", + "file": "./IMetadataService.sol", + "id": 2033, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2028, + "src": "193:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol", + "file": "./INameWrapperUpgrade.sol", + "id": 2034, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2420, + "src": "226:35:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "constant": true, + "id": 2037, + "mutability": "constant", + "name": "CANNOT_UNWRAP", + "nameLocation": "279:13:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "263:33:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2035, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "263:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "31", + "id": 2036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "295:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2040, + "mutability": "constant", + "name": "CANNOT_BURN_FUSES", + "nameLocation": "314:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "298:37:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2038, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "298:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "32", + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "334:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2043, + "mutability": "constant", + "name": "CANNOT_TRANSFER", + "nameLocation": "353:15:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "337:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2041, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "337:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "34", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "371:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2046, + "mutability": "constant", + "name": "CANNOT_SET_RESOLVER", + "nameLocation": "390:19:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "374:39:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2044, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "374:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "38", + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "412:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2049, + "mutability": "constant", + "name": "CANNOT_SET_TTL", + "nameLocation": "431:14:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "415:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2047, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "415:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3136", + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2052, + "mutability": "constant", + "name": "CANNOT_CREATE_SUBDOMAIN", + "nameLocation": "468:23:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "452:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2050, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "452:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3332", + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "494:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2055, + "mutability": "constant", + "name": "CANNOT_APPROVE", + "nameLocation": "514:14:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "498:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2053, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "498:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3634", + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "531:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2060, + "mutability": "constant", + "name": "PARENT_CANNOT_CONTROL", + "nameLocation": "619:21:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "603:47:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2056, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "603:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 2059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "643:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "648:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "643:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2065, + "mutability": "constant", + "name": "IS_DOT_ETH", + "nameLocation": "668:10:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "652:36:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2061, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "652:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_131072_by_1", + "typeString": "int_const 131072" + }, + "id": 2064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "681:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3137", + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "686:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "src": "681:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_131072_by_1", + "typeString": "int_const 131072" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2070, + "mutability": "constant", + "name": "CAN_EXTEND_EXPIRY", + "nameLocation": "706:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "690:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2066, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "690:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_262144_by_1", + "typeString": "int_const 262144" + }, + "id": 2069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3138", + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "731:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "726:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_262144_by_1", + "typeString": "int_const 262144" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2073, + "mutability": "constant", + "name": "CAN_DO_EVERYTHING", + "nameLocation": "751:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "735:37:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2071, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "735:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30", + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "771:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2076, + "mutability": "constant", + "name": "PARENT_CONTROLLED_FUSES", + "nameLocation": "790:23:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "774:52:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2074, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "774:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30784646464630303030", + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "816:10:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294901760_by_1", + "typeString": "int_const 4294901760" + }, + "value": "0xFFFF0000" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2079, + "mutability": "constant", + "name": "USER_SETTABLE_FUSES", + "nameLocation": "879:19:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "863:48:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2077, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "863:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30784646464446464646", + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "901:10:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294836223_by_1", + "typeString": "int_const 4294836223" + }, + "value": "0xFFFDFFFF" + }, + "visibility": "internal" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2080, + "name": "IERC1155", + "nameLocations": [ + "940:8:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2541, + "src": "940:8:10" + }, + "id": 2081, + "nodeType": "InheritanceSpecifier", + "src": "940:8:10" + } + ], + "canonicalName": "INameWrapper", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2401, + "linearizedBaseContracts": [ + 2401, + 2541, + 3023 + ], + "name": "INameWrapper", + "nameLocation": "924:12:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "8ce7013e8abebc55c3890a68f5a27c67c3f7efa64e584de5fb22363c606fd340", + "id": 2093, + "name": "NameWrapped", + "nameLocation": "961:11:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2083, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "998:4:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "982:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2082, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "982:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2085, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "1018:4:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1012:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2084, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1012:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1040:5:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1032:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1032:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2089, + "indexed": false, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "1062:5:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1055:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2088, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1055:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2091, + "indexed": false, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "1084:6:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1077:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2090, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1077:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "972:124:10" + }, + "src": "955:142:10" + }, + { + "anonymous": false, + "eventSelector": "ee2ba1195c65bcf218a83d874335c6bf9d9067b4c672f3c3bf16cf40de7586c4", + "id": 2099, + "name": "NameUnwrapped", + "nameLocation": "1109:13:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2095, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1139:4:10", + "nodeType": "VariableDeclaration", + "scope": 2099, + "src": "1123:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2094, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1123:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2097, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1153:5:10", + "nodeType": "VariableDeclaration", + "scope": 2099, + "src": "1145:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1145:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1122:37:10" + }, + "src": "1103:57:10" + }, + { + "anonymous": false, + "eventSelector": "39873f00c80f4f94b7bd1594aebcf650f003545b74824d57ddf4939e3ff3a34b", + "id": 2105, + "name": "FusesSet", + "nameLocation": "1172:8:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2101, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1197:4:10", + "nodeType": "VariableDeclaration", + "scope": 2105, + "src": "1181:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1181:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2103, + "indexed": false, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "1210:5:10", + "nodeType": "VariableDeclaration", + "scope": 2105, + "src": "1203:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2102, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1203:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "1180:36:10" + }, + "src": "1166:51:10" + }, + { + "anonymous": false, + "eventSelector": "f675815a0817338f93a7da433f6bd5f5542f1029b11b455191ac96c7f6a9b132", + "id": 2111, + "name": "ExpiryExtended", + "nameLocation": "1228:14:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2107, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1259:4:10", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "1243:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2106, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1243:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2109, + "indexed": false, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "1272:6:10", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "1265:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2108, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1265:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1242:37:10" + }, + "src": "1222:58:10" + }, + { + "functionSelector": "3f15457f", + "id": 2117, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ens", + "nameLocation": "1295:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1298:2:10" + }, + "returnParameters": { + "id": 2116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2115, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2117, + "src": "1324:3:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 2114, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2113, + "name": "ENS", + "nameLocations": [ + "1324:3:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "1324:3:10" + }, + "referencedDeclaration": 1030, + "src": "1324:3:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "internal" + } + ], + "src": "1323:5:10" + }, + "scope": 2401, + "src": "1286:43:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "2b20e397", + "id": 2123, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registrar", + "nameLocation": "1344:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2118, + "nodeType": "ParameterList", + "parameters": [], + "src": "1353:2:10" + }, + "returnParameters": { + "id": 2122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2121, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2123, + "src": "1379:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBaseRegistrar_$893", + "typeString": "contract IBaseRegistrar" + }, + "typeName": { + "id": 2120, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2119, + "name": "IBaseRegistrar", + "nameLocations": [ + "1379:14:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 893, + "src": "1379:14:10" + }, + "referencedDeclaration": 893, + "src": "1379:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBaseRegistrar_$893", + "typeString": "contract IBaseRegistrar" + } + }, + "visibility": "internal" + } + ], + "src": "1378:16:10" + }, + "scope": 2401, + "src": "1335:60:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "53095467", + "id": 2129, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "metadataService", + "nameLocation": "1410:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2124, + "nodeType": "ParameterList", + "parameters": [], + "src": "1425:2:10" + }, + "returnParameters": { + "id": 2128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2127, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2129, + "src": "1451:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + }, + "typeName": { + "id": 2126, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2125, + "name": "IMetadataService", + "nameLocations": [ + "1451:16:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2027, + "src": "1451:16:10" + }, + "referencedDeclaration": 2027, + "src": "1451:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + } + }, + "visibility": "internal" + } + ], + "src": "1450:18:10" + }, + "scope": 2401, + "src": "1401:68:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "20c38e2b", + "id": 2136, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "names", + "nameLocation": "1484:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2131, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2136, + "src": "1490:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1490:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1489:9:10" + }, + "returnParameters": { + "id": 2135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2134, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2136, + "src": "1522:12:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2133, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1522:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1521:14:10" + }, + "scope": 2401, + "src": "1475:61:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "06fdde03", + "id": 2141, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1551:4:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2137, + "nodeType": "ParameterList", + "parameters": [], + "src": "1555:2:10" + }, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2139, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2141, + "src": "1581:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2138, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1581:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1580:15:10" + }, + "scope": 2401, + "src": "1542:54:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1f4e1504", + "id": 2147, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "upgradeContract", + "nameLocation": "1611:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2142, + "nodeType": "ParameterList", + "parameters": [], + "src": "1626:2:10" + }, + "returnParameters": { + "id": 2146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2145, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2147, + "src": "1652:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + }, + "typeName": { + "id": 2144, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2143, + "name": "INameWrapperUpgrade", + "nameLocations": [ + "1652:19:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2419, + "src": "1652:19:10" + }, + "referencedDeclaration": 2419, + "src": "1652:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + } + }, + "visibility": "internal" + } + ], + "src": "1651:21:10" + }, + "scope": 2401, + "src": "1602:71:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3022 + ], + "functionSelector": "01ffc9a7", + "id": 2154, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1688:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2149, + "mutability": "mutable", + "name": "interfaceID", + "nameLocation": "1713:11:10", + "nodeType": "VariableDeclaration", + "scope": 2154, + "src": "1706:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2148, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1706:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1705:20:10" + }, + "returnParameters": { + "id": 2153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2152, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2154, + "src": "1749:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2151, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1749:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1748:6:10" + }, + "scope": 2401, + "src": "1679:76:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "eb8ae530", + "id": 2163, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrap", + "nameLocation": "1770:4:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2156, + "mutability": "mutable", + "name": "name", + "nameLocation": "1799:4:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1784:19:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2155, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1784:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2158, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "1821:12:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1813:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1813:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2160, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "1851:8:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1843:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1843:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1774:91:10" + }, + "returnParameters": { + "id": 2162, + "nodeType": "ParameterList", + "parameters": [], + "src": "1874:0:10" + }, + "scope": 2401, + "src": "1761:114:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "8cf8b41e", + "id": 2176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrapETH2LD", + "nameLocation": "1890:10:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2165, + "mutability": "mutable", + "name": "label", + "nameLocation": "1926:5:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1910:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1910:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2167, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "1949:12:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1941:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1941:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2169, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "1978:20:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1971:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2168, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1971:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2171, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2016:8:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "2008:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2008:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1900:130:10" + }, + "returnParameters": { + "id": 2175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2174, + "mutability": "mutable", + "name": "expires", + "nameLocation": "2056:7:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "2049:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2173, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2049:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2048:16:10" + }, + "scope": 2401, + "src": "1881:184:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a4014982", + "id": 2191, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registerAndWrapETH2LD", + "nameLocation": "2080:21:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2178, + "mutability": "mutable", + "name": "label", + "nameLocation": "2127:5:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2111:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2177, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2111:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2180, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "2150:12:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2142:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2142:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2182, + "mutability": "mutable", + "name": "duration", + "nameLocation": "2180:8:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2172:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2172:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2184, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2206:8:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2198:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2198:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2186, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "2231:20:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2224:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2185, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2224:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "2101:156:10" + }, + "returnParameters": { + "id": 2190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2189, + "mutability": "mutable", + "name": "registrarExpiry", + "nameLocation": "2284:15:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2276:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2276:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2275:25:10" + }, + "scope": 2401, + "src": "2071:230:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c475abff", + "id": 2200, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nameLocation": "2316:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2193, + "mutability": "mutable", + "name": "labelHash", + "nameLocation": "2339:9:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2331:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2331:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2195, + "mutability": "mutable", + "name": "duration", + "nameLocation": "2366:8:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2358:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2358:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2321:59:10" + }, + "returnParameters": { + "id": 2199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2198, + "mutability": "mutable", + "name": "expires", + "nameLocation": "2407:7:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2399:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2399:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2398:17:10" + }, + "scope": 2401, + "src": "2307:109:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d8c9921a", + "id": 2209, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unwrap", + "nameLocation": "2431:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2202, + "mutability": "mutable", + "name": "node", + "nameLocation": "2446:4:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2438:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2438:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2204, + "mutability": "mutable", + "name": "label", + "nameLocation": "2460:5:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2452:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2452:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2206, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2475:5:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2467:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2467:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2437:44:10" + }, + "returnParameters": { + "id": 2208, + "nodeType": "ParameterList", + "parameters": [], + "src": "2490:0:10" + }, + "scope": 2401, + "src": "2422:69:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "8b4dfa75", + "id": 2218, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unwrapETH2LD", + "nameLocation": "2506:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2211, + "mutability": "mutable", + "name": "label", + "nameLocation": "2536:5:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2528:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2528:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2213, + "mutability": "mutable", + "name": "newRegistrant", + "nameLocation": "2559:13:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2551:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2551:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2215, + "mutability": "mutable", + "name": "newController", + "nameLocation": "2590:13:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2582:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2582:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2518:91:10" + }, + "returnParameters": { + "id": 2217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2618:0:10" + }, + "scope": 2401, + "src": "2497:122:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c93ab3fd", + "id": 2225, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "upgrade", + "nameLocation": "2634:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2220, + "mutability": "mutable", + "name": "name", + "nameLocation": "2657:4:10", + "nodeType": "VariableDeclaration", + "scope": 2225, + "src": "2642:19:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2219, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2642:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2222, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "2678:9:10", + "nodeType": "VariableDeclaration", + "scope": 2225, + "src": "2663:24:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2221, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2663:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2641:47:10" + }, + "returnParameters": { + "id": 2224, + "nodeType": "ParameterList", + "parameters": [], + "src": "2697:0:10" + }, + "scope": 2401, + "src": "2625:73:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "402906fc", + "id": 2234, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setFuses", + "nameLocation": "2713:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2227, + "mutability": "mutable", + "name": "node", + "nameLocation": "2739:4:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2731:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2731:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2229, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "2760:20:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2753:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2228, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2753:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "2721:65:10" + }, + "returnParameters": { + "id": 2233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2232, + "mutability": "mutable", + "name": "newFuses", + "nameLocation": "2812:8:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2805:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2231, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2805:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "2804:17:10" + }, + "scope": 2401, + "src": "2704:118:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "33c69ea9", + "id": 2245, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setChildFuses", + "nameLocation": "2837:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2236, + "mutability": "mutable", + "name": "parentNode", + "nameLocation": "2868:10:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2860:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2238, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "2896:9:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2888:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2888:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2240, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "2922:5:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2915:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2239, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2915:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2242, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "2944:6:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2937:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2241, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2937:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2850:106:10" + }, + "returnParameters": { + "id": 2244, + "nodeType": "ParameterList", + "parameters": [], + "src": "2965:0:10" + }, + "scope": 2401, + "src": "2828:138:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "24c1af44", + "id": 2264, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nameLocation": "2981:16:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2247, + "mutability": "mutable", + "name": "node", + "nameLocation": "3015:4:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3007:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3007:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2249, + "mutability": "mutable", + "name": "label", + "nameLocation": "3045:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3029:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2248, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3029:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2251, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3068:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3060:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3060:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2253, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3091:8:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3083:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3083:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2255, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3116:3:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3109:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2254, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3109:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2257, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "3136:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3129:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2256, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3129:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2259, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3158:6:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3151:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2258, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3151:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2997:173:10" + }, + "returnParameters": { + "id": 2263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2262, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3189:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3189:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3188:9:10" + }, + "scope": 2401, + "src": "2972:226:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "cf408823", + "id": 2275, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nameLocation": "3213:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "node", + "nameLocation": "3240:4:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3232:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3232:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2268, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3262:5:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3254:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3254:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2270, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3285:8:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3277:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3277:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2272, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3310:3:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3303:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2271, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3303:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3222:97:10" + }, + "returnParameters": { + "id": 2274, + "nodeType": "ParameterList", + "parameters": [], + "src": "3328:0:10" + }, + "scope": 2401, + "src": "3204:125:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c658e086", + "id": 2290, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nameLocation": "3344:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2277, + "mutability": "mutable", + "name": "node", + "nameLocation": "3377:4:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3369:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2276, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3369:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2279, + "mutability": "mutable", + "name": "label", + "nameLocation": "3407:5:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3391:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2278, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3391:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2281, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "3430:8:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3422:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3422:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2283, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "3455:5:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3448:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2282, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3448:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2285, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3477:6:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3470:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2284, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3470:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3359:130:10" + }, + "returnParameters": { + "id": 2289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2288, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3508:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2287, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3508:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3507:9:10" + }, + "scope": 2401, + "src": "3335:182:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6e5d6ad2", + "id": 2301, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "extendExpiry", + "nameLocation": "3532:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2292, + "mutability": "mutable", + "name": "node", + "nameLocation": "3562:4:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3554:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2291, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3554:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2294, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "3584:9:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3576:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3576:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2296, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3610:6:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3603:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2295, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3603:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3544:78:10" + }, + "returnParameters": { + "id": 2300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2299, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3641:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2298, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3641:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3640:8:10" + }, + "scope": 2401, + "src": "3523:126:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "41415eab", + "id": 2310, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "canModifyName", + "nameLocation": "3664:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2303, + "mutability": "mutable", + "name": "node", + "nameLocation": "3695:4:10", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3687:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3687:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2305, + "mutability": "mutable", + "name": "addr", + "nameLocation": "3717:4:10", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3709:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3709:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3677:50:10" + }, + "returnParameters": { + "id": 2309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2308, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3751:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2307, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3751:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3750:6:10" + }, + "scope": 2401, + "src": "3655:102:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1896f70a", + "id": 2317, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "3772:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2312, + "mutability": "mutable", + "name": "node", + "nameLocation": "3792:4:10", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "3784:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2311, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3784:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2314, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3806:8:10", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "3798:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3798:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3783:32:10" + }, + "returnParameters": { + "id": 2316, + "nodeType": "ParameterList", + "parameters": [], + "src": "3824:0:10" + }, + "scope": 2401, + "src": "3763:62:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "14ab9038", + "id": 2324, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nameLocation": "3840:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2319, + "mutability": "mutable", + "name": "node", + "nameLocation": "3855:4:10", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3847:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2318, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3847:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2321, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3868:3:10", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3861:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2320, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3861:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3846:26:10" + }, + "returnParameters": { + "id": 2323, + "nodeType": "ParameterList", + "parameters": [], + "src": "3881:0:10" + }, + "scope": 2401, + "src": "3831:51:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6352211e", + "id": 2331, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3897:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2326, + "mutability": "mutable", + "name": "id", + "nameLocation": "3913:2:10", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "3905:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3905:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3904:12:10" + }, + "returnParameters": { + "id": 2330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2329, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3948:5:10", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "3940:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3940:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3939:15:10" + }, + "scope": 2401, + "src": "3888:67:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "095ea7b3", + "id": 2338, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3970:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2333, + "mutability": "mutable", + "name": "to", + "nameLocation": "3986:2:10", + "nodeType": "VariableDeclaration", + "scope": 2338, + "src": "3978:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3978:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2335, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3998:7:10", + "nodeType": "VariableDeclaration", + "scope": 2338, + "src": "3990:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3990:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3977:29:10" + }, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [], + "src": "4015:0:10" + }, + "scope": 2401, + "src": "3961:55:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "081812fc", + "id": 2345, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4031:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2340, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4051:7:10", + "nodeType": "VariableDeclaration", + "scope": 2345, + "src": "4043:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4043:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4042:17:10" + }, + "returnParameters": { + "id": 2344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2343, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2345, + "src": "4083:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4083:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4082:9:10" + }, + "scope": 2401, + "src": "4022:70:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0178fe3f", + "id": 2356, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getData", + "nameLocation": "4107:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2347, + "mutability": "mutable", + "name": "id", + "nameLocation": "4132:2:10", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4124:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4124:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4114:26:10" + }, + "returnParameters": { + "id": 2355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2350, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4164:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4164:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2352, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4173:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2351, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4173:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4181:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2353, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4181:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "4163:25:10" + }, + "scope": 2401, + "src": "4098:91:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1534e177", + "id": 2362, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setMetadataService", + "nameLocation": "4204:18:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2359, + "mutability": "mutable", + "name": "_metadataService", + "nameLocation": "4240:16:10", + "nodeType": "VariableDeclaration", + "scope": 2362, + "src": "4223:33:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + }, + "typeName": { + "id": 2358, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2357, + "name": "IMetadataService", + "nameLocations": [ + "4223:16:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2027, + "src": "4223:16:10" + }, + "referencedDeclaration": 2027, + "src": "4223:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + } + }, + "visibility": "internal" + } + ], + "src": "4222:35:10" + }, + "returnParameters": { + "id": 2361, + "nodeType": "ParameterList", + "parameters": [], + "src": "4266:0:10" + }, + "scope": 2401, + "src": "4195:72:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0e89341c", + "id": 2369, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "4282:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2364, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4294:7:10", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "4286:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4286:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4285:17:10" + }, + "returnParameters": { + "id": 2368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2367, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "4326:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2366, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4326:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4325:15:10" + }, + "scope": 2401, + "src": "4273:68:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "b6bcad26", + "id": 2375, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setUpgradeContract", + "nameLocation": "4356:18:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2372, + "mutability": "mutable", + "name": "_upgradeAddress", + "nameLocation": "4395:15:10", + "nodeType": "VariableDeclaration", + "scope": 2375, + "src": "4375:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + }, + "typeName": { + "id": 2371, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2370, + "name": "INameWrapperUpgrade", + "nameLocations": [ + "4375:19:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2419, + "src": "4375:19:10" + }, + "referencedDeclaration": 2419, + "src": "4375:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + } + }, + "visibility": "internal" + } + ], + "src": "4374:37:10" + }, + "returnParameters": { + "id": 2374, + "nodeType": "ParameterList", + "parameters": [], + "src": "4420:0:10" + }, + "scope": 2401, + "src": "4347:74:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "adf4960a", + "id": 2384, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allFusesBurned", + "nameLocation": "4436:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2377, + "mutability": "mutable", + "name": "node", + "nameLocation": "4468:4:10", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4460:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4460:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2379, + "mutability": "mutable", + "name": "fuseMask", + "nameLocation": "4489:8:10", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4482:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2378, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4482:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "4450:53:10" + }, + "returnParameters": { + "id": 2383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2382, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4527:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4527:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4526:6:10" + }, + "scope": 2401, + "src": "4427:106:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "fd0cd0d9", + "id": 2391, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isWrapped", + "nameLocation": "4548:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2391, + "src": "4558:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4558:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4557:9:10" + }, + "returnParameters": { + "id": 2390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2389, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2391, + "src": "4590:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2388, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4590:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4589:6:10" + }, + "scope": 2401, + "src": "4539:57:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d9a50c12", + "id": 2400, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isWrapped", + "nameLocation": "4611:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2393, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4621:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2392, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4621:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4630:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2394, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4630:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4620:18:10" + }, + "returnParameters": { + "id": 2399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2398, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4662:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4662:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4661:6:10" + }, + "scope": 2401, + "src": "4602:66:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2402, + "src": "914:3756:10", + "usedErrors": [], + "usedEvents": [ + 2093, + 2099, + 2105, + 2111, + 2438, + 2453, + 2462, + 2469 + ] + } + ], + "src": "31:4640:10" + }, + "id": 10 + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol", + "exportedSymbols": { + "INameWrapperUpgrade": [ + 2419 + ] + }, + "id": 2420, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2403, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:11" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "INameWrapperUpgrade", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2419, + "linearizedBaseContracts": [ + 2419 + ], + "name": "INameWrapperUpgrade", + "nameLocation": "67:19:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "9198c276", + "id": 2418, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrapFromUpgrade", + "nameLocation": "102:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2405, + "mutability": "mutable", + "name": "name", + "nameLocation": "142:4:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "127:19:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2404, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "127:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2407, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "164:12:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "156:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "156:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2409, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "193:5:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "186:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2408, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "186:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2411, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "215:6:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "208:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2410, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "208:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2413, + "mutability": "mutable", + "name": "approved", + "nameLocation": "239:8:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "231:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "231:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2415, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "272:9:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "257:24:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2414, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "257:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "117:170:11" + }, + "returnParameters": { + "id": 2417, + "nodeType": "ParameterList", + "parameters": [], + "src": "296:0:11" + }, + "scope": 2419, + "src": "93:204:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2420, + "src": "57:242:11", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:269:11" + }, + "id": 11 + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "exportedSymbols": { + "IERC1155": [ + 2541 + ], + "IERC165": [ + 3023 + ] + }, + "id": 2542, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2421, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "110:23:12" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 2422, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2542, + "sourceUnit": 3024, + "src": "135:47:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2424, + "name": "IERC165", + "nameLocations": [ + "372:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "372:7:12" + }, + "id": 2425, + "nodeType": "InheritanceSpecifier", + "src": "372:7:12" + } + ], + "canonicalName": "IERC1155", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2423, + "nodeType": "StructuredDocumentation", + "src": "184:165:12", + "text": " @dev Required interface of an ERC1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[EIP].\n _Available since v3.1._" + }, + "fullyImplemented": false, + "id": 2541, + "linearizedBaseContracts": [ + 2541, + 3023 + ], + "name": "IERC1155", + "nameLocation": "360:8:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2426, + "nodeType": "StructuredDocumentation", + "src": "386:121:12", + "text": " @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`." + }, + "eventSelector": "c3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62", + "id": 2438, + "name": "TransferSingle", + "nameLocation": "518:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2428, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "549:8:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "533:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2430, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "575:4:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "559:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2429, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "559:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2432, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "597:2:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "581:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "581:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2434, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "609:2:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "601:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "601:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2436, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "621:5:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "613:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "613:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "532:95:12" + }, + "src": "512:116:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2439, + "nodeType": "StructuredDocumentation", + "src": "634:144:12", + "text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers." + }, + "eventSelector": "4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb", + "id": 2453, + "name": "TransferBatch", + "nameLocation": "789:13:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2441, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "828:8:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "812:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2440, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "812:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2443, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "862:4:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "846:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "846:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2445, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "892:2:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "876:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "876:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2448, + "indexed": false, + "mutability": "mutable", + "name": "ids", + "nameLocation": "914:3:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "904:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "904:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2447, + "nodeType": "ArrayTypeName", + "src": "904:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2451, + "indexed": false, + "mutability": "mutable", + "name": "values", + "nameLocation": "937:6:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "927:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "927:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2450, + "nodeType": "ArrayTypeName", + "src": "927:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "802:147:12" + }, + "src": "783:167:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2454, + "nodeType": "StructuredDocumentation", + "src": "956:147:12", + "text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 2462, + "name": "ApprovalForAll", + "nameLocation": "1114:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1145:7:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1129:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1129:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2458, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1170:8:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1154:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1154:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2460, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "1185:8:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1180:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2459, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1180:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1128:66:12" + }, + "src": "1108:87:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2463, + "nodeType": "StructuredDocumentation", + "src": "1201:343:12", + "text": " @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}." + }, + "eventSelector": "6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b", + "id": 2469, + "name": "URI", + "nameLocation": "1555:3:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2465, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1566:5:12", + "nodeType": "VariableDeclaration", + "scope": 2469, + "src": "1559:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1559:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2467, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1589:2:12", + "nodeType": "VariableDeclaration", + "scope": 2469, + "src": "1573:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1573:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1558:34:12" + }, + "src": "1549:44:12" + }, + { + "documentation": { + "id": 2470, + "nodeType": "StructuredDocumentation", + "src": "1599:173:12", + "text": " @dev Returns the amount of tokens of token type `id` owned by `account`.\n Requirements:\n - `account` cannot be the zero address." + }, + "functionSelector": "00fdd58e", + "id": 2479, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1786:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2472, + "mutability": "mutable", + "name": "account", + "nameLocation": "1804:7:12", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1796:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1796:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2474, + "mutability": "mutable", + "name": "id", + "nameLocation": "1821:2:12", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1813:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1813:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1795:29:12" + }, + "returnParameters": { + "id": 2478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2477, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1848:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1847:9:12" + }, + "scope": 2541, + "src": "1777:80:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2480, + "nodeType": "StructuredDocumentation", + "src": "1863:188:12", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length." + }, + "functionSelector": "4e1273f4", + "id": 2492, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOfBatch", + "nameLocation": "2065:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2483, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2108:8:12", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2089:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2089:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2482, + "nodeType": "ArrayTypeName", + "src": "2089:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2486, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2145:3:12", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2126:22:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2126:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2485, + "nodeType": "ArrayTypeName", + "src": "2126:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2079:75:12" + }, + "returnParameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2178:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2178:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2489, + "nodeType": "ArrayTypeName", + "src": "2178:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2177:18:12" + }, + "scope": 2541, + "src": "2056:140:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2493, + "nodeType": "StructuredDocumentation", + "src": "2202:248:12", + "text": " @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the caller." + }, + "functionSelector": "a22cb465", + "id": 2500, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "2464:17:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2490:8:12", + "nodeType": "VariableDeclaration", + "scope": 2500, + "src": "2482:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2482:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2497, + "mutability": "mutable", + "name": "approved", + "nameLocation": "2505:8:12", + "nodeType": "VariableDeclaration", + "scope": 2500, + "src": "2500:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2496, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2500:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2481:33:12" + }, + "returnParameters": { + "id": 2499, + "nodeType": "ParameterList", + "parameters": [], + "src": "2523:0:12" + }, + "scope": 2541, + "src": "2455:69:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2501, + "nodeType": "StructuredDocumentation", + "src": "2530:135:12", + "text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}." + }, + "functionSelector": "e985e9c5", + "id": 2510, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "2679:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2503, + "mutability": "mutable", + "name": "account", + "nameLocation": "2704:7:12", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2696:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2696:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2505, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2721:8:12", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2713:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2713:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2695:35:12" + }, + "returnParameters": { + "id": 2509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2508, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2754:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2507, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2754:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2753:6:12" + }, + "scope": 2541, + "src": "2670:90:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2511, + "nodeType": "StructuredDocumentation", + "src": "2766:556:12", + "text": " @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value." + }, + "functionSelector": "f242432a", + "id": 2524, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "3336:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2513, + "mutability": "mutable", + "name": "from", + "nameLocation": "3361:4:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3353:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3353:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2515, + "mutability": "mutable", + "name": "to", + "nameLocation": "3375:2:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3367:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2514, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3367:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2517, + "mutability": "mutable", + "name": "id", + "nameLocation": "3387:2:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3379:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3379:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2519, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3399:6:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3391:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2518, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3391:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2521, + "mutability": "mutable", + "name": "data", + "nameLocation": "3422:4:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3407:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2520, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3407:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3352:75:12" + }, + "returnParameters": { + "id": 2523, + "nodeType": "ParameterList", + "parameters": [], + "src": "3436:0:12" + }, + "scope": 2541, + "src": "3327:110:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2525, + "nodeType": "StructuredDocumentation", + "src": "3443:390:12", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value." + }, + "functionSelector": "2eb2c2d6", + "id": 2540, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeBatchTransferFrom", + "nameLocation": "3847:21:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2527, + "mutability": "mutable", + "name": "from", + "nameLocation": "3886:4:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3878:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3878:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2529, + "mutability": "mutable", + "name": "to", + "nameLocation": "3908:2:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3900:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3900:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "mutability": "mutable", + "name": "ids", + "nameLocation": "3939:3:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3920:22:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2530, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3920:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2531, + "nodeType": "ArrayTypeName", + "src": "3920:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2535, + "mutability": "mutable", + "name": "amounts", + "nameLocation": "3971:7:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3952:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3952:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2534, + "nodeType": "ArrayTypeName", + "src": "3952:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2537, + "mutability": "mutable", + "name": "data", + "nameLocation": "4003:4:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3988:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2536, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3988:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3868:145:12" + }, + "returnParameters": { + "id": 2539, + "nodeType": "ParameterList", + "parameters": [], + "src": "4022:0:12" + }, + "scope": 2541, + "src": "3838:185:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2542, + "src": "350:3675:12", + "usedErrors": [], + "usedEvents": [ + 2438, + 2453, + 2462, + 2469 + ] + } + ], + "src": "110:3916:12" + }, + "id": 12 + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ] + }, + "id": 2658, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2543, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:13" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 2544, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2658, + "sourceUnit": 3024, + "src": "133:47:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2546, + "name": "IERC165", + "nameLocations": [ + "271:7:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "271:7:13" + }, + "id": 2547, + "nodeType": "InheritanceSpecifier", + "src": "271:7:13" + } + ], + "canonicalName": "IERC721", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2545, + "nodeType": "StructuredDocumentation", + "src": "182:67:13", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 2657, + "linearizedBaseContracts": [ + 2657, + 3023 + ], + "name": "IERC721", + "nameLocation": "260:7:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2548, + "nodeType": "StructuredDocumentation", + "src": "285:88:13", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 2556, + "name": "Transfer", + "nameLocation": "384:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2550, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "409:4:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "393:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2552, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "431:2:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "415:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2551, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "415:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "451:7:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "435:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "435:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "392:67:13" + }, + "src": "378:82:13" + }, + { + "anonymous": false, + "documentation": { + "id": 2557, + "nodeType": "StructuredDocumentation", + "src": "466:94:13", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 2565, + "name": "Approval", + "nameLocation": "571:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2559, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "596:5:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "580:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "580:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "619:8:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "603:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "603:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2563, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "645:7:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "629:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "579:74:13" + }, + "src": "565:89:13" + }, + { + "anonymous": false, + "documentation": { + "id": 2566, + "nodeType": "StructuredDocumentation", + "src": "660:117:13", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 2574, + "name": "ApprovalForAll", + "nameLocation": "788:14:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "819:5:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "803:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2567, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2570, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "842:8:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "826:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2572, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "857:8:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "852:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2571, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "852:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "802:64:13" + }, + "src": "782:85:13" + }, + { + "documentation": { + "id": 2575, + "nodeType": "StructuredDocumentation", + "src": "873:76:13", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 2582, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "963:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2577, + "mutability": "mutable", + "name": "owner", + "nameLocation": "981:5:13", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "973:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "972:15:13" + }, + "returnParameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2580, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1019:7:13", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1011:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1011:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1010:17:13" + }, + "scope": 2657, + "src": "954:74:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2583, + "nodeType": "StructuredDocumentation", + "src": "1034:131:13", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 2590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1179:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2585, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1195:7:13", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1187:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1187:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1186:17:13" + }, + "returnParameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2588, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1235:5:13", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1227:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1227:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1226:15:13" + }, + "scope": 2657, + "src": "1170:72:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2591, + "nodeType": "StructuredDocumentation", + "src": "1248:556:13", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 2602, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1818:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2593, + "mutability": "mutable", + "name": "from", + "nameLocation": "1843:4:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1835:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1835:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2595, + "mutability": "mutable", + "name": "to", + "nameLocation": "1857:2:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1849:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2597, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1869:7:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1861:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1861:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2599, + "mutability": "mutable", + "name": "data", + "nameLocation": "1893:4:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1878:19:13", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2598, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1878:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1834:64:13" + }, + "returnParameters": { + "id": 2601, + "nodeType": "ParameterList", + "parameters": [], + "src": "1907:0:13" + }, + "scope": 2657, + "src": "1809:99:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2603, + "nodeType": "StructuredDocumentation", + "src": "1914:687:13", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 2612, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2615:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "mutability": "mutable", + "name": "from", + "nameLocation": "2640:4:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2632:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2632:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "to", + "nameLocation": "2654:2:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2646:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2646:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2609, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2666:7:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2658:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2658:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2631:43:13" + }, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [], + "src": "2683:0:13" + }, + "scope": 2657, + "src": "2606:78:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2613, + "nodeType": "StructuredDocumentation", + "src": "2690:732:13", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 2622, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "3436:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2615, + "mutability": "mutable", + "name": "from", + "nameLocation": "3457:4:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3449:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2614, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3449:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2617, + "mutability": "mutable", + "name": "to", + "nameLocation": "3471:2:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3463:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3463:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2619, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3483:7:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3475:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3475:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3448:43:13" + }, + "returnParameters": { + "id": 2621, + "nodeType": "ParameterList", + "parameters": [], + "src": "3500:0:13" + }, + "scope": 2657, + "src": "3427:74:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2623, + "nodeType": "StructuredDocumentation", + "src": "3507:452:13", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 2630, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3973:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2625, + "mutability": "mutable", + "name": "to", + "nameLocation": "3989:2:13", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "3981:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3981:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4001:7:13", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "3993:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3993:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3980:29:13" + }, + "returnParameters": { + "id": 2629, + "nodeType": "ParameterList", + "parameters": [], + "src": "4018:0:13" + }, + "scope": 2657, + "src": "3964:55:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2631, + "nodeType": "StructuredDocumentation", + "src": "4025:309:13", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 2638, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "4348:17:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2633, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4374:8:13", + "nodeType": "VariableDeclaration", + "scope": 2638, + "src": "4366:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4366:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2635, + "mutability": "mutable", + "name": "approved", + "nameLocation": "4389:8:13", + "nodeType": "VariableDeclaration", + "scope": 2638, + "src": "4384:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2634, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4384:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4365:33:13" + }, + "returnParameters": { + "id": 2637, + "nodeType": "ParameterList", + "parameters": [], + "src": "4407:0:13" + }, + "scope": 2657, + "src": "4339:69:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2639, + "nodeType": "StructuredDocumentation", + "src": "4414:139:13", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 2646, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4567:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2641, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4587:7:13", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "4579:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4579:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4578:17:13" + }, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2644, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4627:8:13", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "4619:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2643, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4619:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4618:18:13" + }, + "scope": 2657, + "src": "4558:79:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2647, + "nodeType": "StructuredDocumentation", + "src": "4643:138:13", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 2656, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "4795:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2649, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4820:5:13", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4812:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4812:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2651, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4835:8:13", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4827:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4827:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4811:33:13" + }, + "returnParameters": { + "id": 2655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2654, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4868:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2653, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4868:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4867:6:13" + }, + "scope": 2657, + "src": "4786:88:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2658, + "src": "250:4626:13", + "usedErrors": [], + "usedEvents": [ + 2556, + 2565, + 2574 + ] + } + ], + "src": "108:4769:13" + }, + "id": 13 + }, + "@openzeppelin/contracts/utils/Address.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 2987 + ] + }, + "id": 2988, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2659, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:14" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2660, + "nodeType": "StructuredDocumentation", + "src": "126:67:14", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 2987, + "linearizedBaseContracts": [ + 2987 + ], + "name": "Address", + "nameLocation": "202:7:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2674, + "nodeType": "Block", + "src": "1478:254:14", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 2668, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2663, + "src": "1702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1710:4:14", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1702:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1715:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1702:19:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1702:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2667, + "id": 2673, + "nodeType": "Return", + "src": "1695:30:14" + } + ] + }, + "documentation": { + "id": 2661, + "nodeType": "StructuredDocumentation", + "src": "216:1191:14", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 2675, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1421:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2663, + "mutability": "mutable", + "name": "account", + "nameLocation": "1440:7:14", + "nodeType": "VariableDeclaration", + "scope": 2675, + "src": "1432:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2662, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1432:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1431:17:14" + }, + "returnParameters": { + "id": 2667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2675, + "src": "1472:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2665, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1472:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1471:6:14" + }, + "scope": 2987, + "src": "1412:320:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2708, + "nodeType": "Block", + "src": "2718:241:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2686, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2744:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + ], + "id": 2685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2736:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2736:7:14", + "typeDescriptions": {} + } + }, + "id": 2687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2736:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2750:7:14", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2736:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2689, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "2761:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2736:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2769:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 2683, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2728:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2728:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2693, + "nodeType": "ExpressionStatement", + "src": "2728:73:14" + }, + { + "assignments": [ + 2695, + null + ], + "declarations": [ + { + "constant": false, + "id": 2695, + "mutability": "mutable", + "name": "success", + "nameLocation": "2818:7:14", + "nodeType": "VariableDeclaration", + "scope": 2708, + "src": "2813:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2813:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 2702, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:2:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 2696, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "2831:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2841:4:14", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2831:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2698, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "2853:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2831:29:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2831:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2812:52:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2704, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2695, + "src": "2882:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 2705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2891:60:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 2703, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2874:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2874:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2707, + "nodeType": "ExpressionStatement", + "src": "2874:78:14" + } + ] + }, + "documentation": { + "id": 2676, + "nodeType": "StructuredDocumentation", + "src": "1738:904:14", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 2709, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2656:9:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2678, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2682:9:14", + "nodeType": "VariableDeclaration", + "scope": 2709, + "src": "2666:25:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2666:15:14", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2701:6:14", + "nodeType": "VariableDeclaration", + "scope": 2709, + "src": "2693:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2693:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2665:43:14" + }, + "returnParameters": { + "id": 2682, + "nodeType": "ParameterList", + "parameters": [], + "src": "2718:0:14" + }, + "scope": 2987, + "src": "2647:312:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2726, + "nodeType": "Block", + "src": "3790:96:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2720, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "3829:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2721, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "3837:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3846:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 2719, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "3807:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3807:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2718, + "id": 2725, + "nodeType": "Return", + "src": "3800:79:14" + } + ] + }, + "documentation": { + "id": 2710, + "nodeType": "StructuredDocumentation", + "src": "2965:731:14", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 2727, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3710:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "target", + "nameLocation": "3731:6:14", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3723:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3723:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "mutability": "mutable", + "name": "data", + "nameLocation": "3752:4:14", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3739:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2713, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3739:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3722:35:14" + }, + "returnParameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3776:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2716, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3776:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3775:14:14" + }, + "scope": 2987, + "src": "3701:185:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2746, + "nodeType": "Block", + "src": "4255:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2740, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "4294:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2741, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "4302:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 2743, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2734, + "src": "4311:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2739, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "4272:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4272:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2738, + "id": 2745, + "nodeType": "Return", + "src": "4265:59:14" + } + ] + }, + "documentation": { + "id": 2728, + "nodeType": "StructuredDocumentation", + "src": "3892:211:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 2747, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "4117:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2730, + "mutability": "mutable", + "name": "target", + "nameLocation": "4147:6:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4139:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4139:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2732, + "mutability": "mutable", + "name": "data", + "nameLocation": "4176:4:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4163:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2731, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4163:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2734, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "4204:12:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4190:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2733, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4190:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4129:93:14" + }, + "returnParameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4241:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2736, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4241:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4240:14:14" + }, + "scope": 2987, + "src": "4108:223:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2766, + "nodeType": "Block", + "src": "4806:111:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2760, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2750, + "src": "4845:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2761, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2752, + "src": "4853:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2762, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2754, + "src": "4859:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 2763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:43:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 2759, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "4823:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4823:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2758, + "id": 2765, + "nodeType": "Return", + "src": "4816:94:14" + } + ] + }, + "documentation": { + "id": 2748, + "nodeType": "StructuredDocumentation", + "src": "4337:351:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 2767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4702:21:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2750, + "mutability": "mutable", + "name": "target", + "nameLocation": "4732:6:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4724:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4724:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2752, + "mutability": "mutable", + "name": "data", + "nameLocation": "4753:4:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4740:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2751, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4740:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2754, + "mutability": "mutable", + "name": "value", + "nameLocation": "4767:5:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4759:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4759:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4723:50:14" + }, + "returnParameters": { + "id": 2758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2757, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4792:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2756, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4792:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4791:14:14" + }, + "scope": 2987, + "src": "4693:224:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2810, + "nodeType": "Block", + "src": "5344:267:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2784, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5370:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + ], + "id": 2783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5362:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5362:7:14", + "typeDescriptions": {} + } + }, + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5362:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5376:7:14", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5362:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2787, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2774, + "src": "5387:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5362:30:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5394:40:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 2781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5354:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5354:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2791, + "nodeType": "ExpressionStatement", + "src": "5354:81:14" + }, + { + "assignments": [ + 2793, + 2795 + ], + "declarations": [ + { + "constant": false, + "id": 2793, + "mutability": "mutable", + "name": "success", + "nameLocation": "5451:7:14", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "5446:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2792, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5446:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2795, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5473:10:14", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "5460:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2794, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5460:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2802, + "initialValue": { + "arguments": [ + { + "id": 2800, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2772, + "src": "5513:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2796, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2770, + "src": "5487:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5494:4:14", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5487:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2798, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2774, + "src": "5506:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5487:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5487:31:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5445:73:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2804, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2770, + "src": "5562:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2805, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2793, + "src": "5570:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2806, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "5579:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2807, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2776, + "src": "5591:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2803, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "5535:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5535:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2780, + "id": 2809, + "nodeType": "Return", + "src": "5528:76:14" + } + ] + }, + "documentation": { + "id": 2768, + "nodeType": "StructuredDocumentation", + "src": "4923:237:14", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 2811, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "5174:21:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2770, + "mutability": "mutable", + "name": "target", + "nameLocation": "5213:6:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5205:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5205:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2772, + "mutability": "mutable", + "name": "data", + "nameLocation": "5242:4:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5229:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2771, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5229:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2774, + "mutability": "mutable", + "name": "value", + "nameLocation": "5264:5:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5256:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2776, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5293:12:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5279:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2775, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5279:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5195:116:14" + }, + "returnParameters": { + "id": 2780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2779, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5330:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2778, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5330:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5329:14:14" + }, + "scope": 2987, + "src": "5165:446:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2827, + "nodeType": "Block", + "src": "5888:97:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2822, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "5924:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2823, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2816, + "src": "5932:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 2824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5938:39:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 2821, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2828, + 2857 + ], + "referencedDeclaration": 2857, + "src": "5905:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5905:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2820, + "id": 2826, + "nodeType": "Return", + "src": "5898:80:14" + } + ] + }, + "documentation": { + "id": 2812, + "nodeType": "StructuredDocumentation", + "src": "5617:166:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 2828, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5797:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2814, + "mutability": "mutable", + "name": "target", + "nameLocation": "5824:6:14", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5816:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2813, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5816:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2816, + "mutability": "mutable", + "name": "data", + "nameLocation": "5845:4:14", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5832:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2815, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5832:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5815:35:14" + }, + "returnParameters": { + "id": 2820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5874:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2818, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5874:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5873:14:14" + }, + "scope": 2987, + "src": "5788:197:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2856, + "nodeType": "Block", + "src": "6327:168:14", + "statements": [ + { + "assignments": [ + 2841, + 2843 + ], + "declarations": [ + { + "constant": false, + "id": 2841, + "mutability": "mutable", + "name": "success", + "nameLocation": "6343:7:14", + "nodeType": "VariableDeclaration", + "scope": 2856, + "src": "6338:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2840, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6338:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2843, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6365:10:14", + "nodeType": "VariableDeclaration", + "scope": 2856, + "src": "6352:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2842, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6352:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2848, + "initialValue": { + "arguments": [ + { + "id": 2846, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2833, + "src": "6397:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2844, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2831, + "src": "6379:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6386:10:14", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6379:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6379:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6337:65:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2850, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2831, + "src": "6446:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2851, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2841, + "src": "6454:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2852, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2843, + "src": "6463:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2853, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "6475:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2849, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "6419:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6419:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2839, + "id": 2855, + "nodeType": "Return", + "src": "6412:76:14" + } + ] + }, + "documentation": { + "id": 2829, + "nodeType": "StructuredDocumentation", + "src": "5991:173:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 2857, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "6178:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2831, + "mutability": "mutable", + "name": "target", + "nameLocation": "6214:6:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6206:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6206:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2833, + "mutability": "mutable", + "name": "data", + "nameLocation": "6243:4:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6230:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2832, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6230:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2835, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6271:12:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6257:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2834, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6257:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6196:93:14" + }, + "returnParameters": { + "id": 2839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2838, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6313:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2837, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6313:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6312:14:14" + }, + "scope": 2987, + "src": "6169:326:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2873, + "nodeType": "Block", + "src": "6771:101:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2868, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "6809:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2869, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "6817:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 2870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6823:41:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 2867, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2874, + 2903 + ], + "referencedDeclaration": 2903, + "src": "6788:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6788:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2866, + "id": 2872, + "nodeType": "Return", + "src": "6781:84:14" + } + ] + }, + "documentation": { + "id": 2858, + "nodeType": "StructuredDocumentation", + "src": "6501:168:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 2874, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6683:20:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2860, + "mutability": "mutable", + "name": "target", + "nameLocation": "6712:6:14", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6704:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6704:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "mutability": "mutable", + "name": "data", + "nameLocation": "6733:4:14", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6720:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2861, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6720:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6703:35:14" + }, + "returnParameters": { + "id": 2866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2865, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6757:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6757:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6756:14:14" + }, + "scope": 2987, + "src": "6674:198:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2902, + "nodeType": "Block", + "src": "7213:170:14", + "statements": [ + { + "assignments": [ + 2887, + 2889 + ], + "declarations": [ + { + "constant": false, + "id": 2887, + "mutability": "mutable", + "name": "success", + "nameLocation": "7229:7:14", + "nodeType": "VariableDeclaration", + "scope": 2902, + "src": "7224:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7224:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2889, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7251:10:14", + "nodeType": "VariableDeclaration", + "scope": 2902, + "src": "7238:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2888, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7238:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2894, + "initialValue": { + "arguments": [ + { + "id": 2892, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "7285:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2890, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2877, + "src": "7265:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7272:12:14", + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7265:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7265:25:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7223:67:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2896, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2877, + "src": "7334:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2897, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "7342:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2898, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2889, + "src": "7351:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2899, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2881, + "src": "7363:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2895, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "7307:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7307:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2885, + "id": 2901, + "nodeType": "Return", + "src": "7300:76:14" + } + ] + }, + "documentation": { + "id": 2875, + "nodeType": "StructuredDocumentation", + "src": "6878:175:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 2903, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "7067:20:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2877, + "mutability": "mutable", + "name": "target", + "nameLocation": "7105:6:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7097:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7097:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2879, + "mutability": "mutable", + "name": "data", + "nameLocation": "7134:4:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7121:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2878, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7121:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2881, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7162:12:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7148:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2880, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7148:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7087:93:14" + }, + "returnParameters": { + "id": 2885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2884, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7199:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2883, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7199:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7198:14:14" + }, + "scope": 2987, + "src": "7058:325:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2941, + "nodeType": "Block", + "src": "7865:434:14", + "statements": [ + { + "condition": { + "id": 2917, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2908, + "src": "7879:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2939, + "nodeType": "Block", + "src": "8235:58:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2935, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "8257:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2936, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2912, + "src": "8269:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2934, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "8249:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8249:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2938, + "nodeType": "ExpressionStatement", + "src": "8249:33:14" + } + ] + }, + "id": 2940, + "nodeType": "IfStatement", + "src": "7875:418:14", + "trueBody": { + "id": 2933, + "nodeType": "Block", + "src": "7888:341:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2918, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "7906:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7917:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7906:17:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7927:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7906:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2930, + "nodeType": "IfStatement", + "src": "7902:286:14", + "trueBody": { + "id": 2929, + "nodeType": "Block", + "src": "7930:258:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2924, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2906, + "src": "8132:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2923, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2675, + "src": "8121:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8121:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 2926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8141:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 2922, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8113:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8113:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2928, + "nodeType": "ExpressionStatement", + "src": "8113:60:14" + } + ] + } + }, + { + "expression": { + "id": 2931, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "8208:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2916, + "id": 2932, + "nodeType": "Return", + "src": "8201:17:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2904, + "nodeType": "StructuredDocumentation", + "src": "7389:277:14", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" + }, + "id": 2942, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "7680:26:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2906, + "mutability": "mutable", + "name": "target", + "nameLocation": "7724:6:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7716:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2905, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7716:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2908, + "mutability": "mutable", + "name": "success", + "nameLocation": "7745:7:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7740:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2907, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7740:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2910, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7775:10:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7762:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2909, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7762:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2912, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7809:12:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7795:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7795:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7706:121:14" + }, + "returnParameters": { + "id": 2916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2915, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7851:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2914, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7851:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7850:14:14" + }, + "scope": 2987, + "src": "7671:628:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2965, + "nodeType": "Block", + "src": "8680:135:14", + "statements": [ + { + "condition": { + "id": 2954, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8694:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2963, + "nodeType": "Block", + "src": "8751:58:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2959, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "8773:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2960, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "8785:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2958, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "8765:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 2961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8765:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2962, + "nodeType": "ExpressionStatement", + "src": "8765:33:14" + } + ] + }, + "id": 2964, + "nodeType": "IfStatement", + "src": "8690:119:14", + "trueBody": { + "id": 2957, + "nodeType": "Block", + "src": "8703:42:14", + "statements": [ + { + "expression": { + "id": 2955, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "8724:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2953, + "id": 2956, + "nodeType": "Return", + "src": "8717:17:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2943, + "nodeType": "StructuredDocumentation", + "src": "8305:210:14", + "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" + }, + "id": 2966, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "8529:16:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2945, + "mutability": "mutable", + "name": "success", + "nameLocation": "8560:7:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8555:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2944, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8555:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2947, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8590:10:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8577:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2946, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8577:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2949, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8624:12:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8610:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2948, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8610:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8545:97:14" + }, + "returnParameters": { + "id": 2953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2952, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8666:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2951, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8666:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8665:14:14" + }, + "scope": 2987, + "src": "8520:295:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2985, + "nodeType": "Block", + "src": "8904:457:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2973, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "8980:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8991:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8980:17:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9000:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8980:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2983, + "nodeType": "Block", + "src": "9310:45:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2980, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "9331:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2979, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "9324:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 2981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9324:20:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2982, + "nodeType": "ExpressionStatement", + "src": "9324:20:14" + } + ] + }, + "id": 2984, + "nodeType": "IfStatement", + "src": "8976:379:14", + "trueBody": { + "id": 2978, + "nodeType": "Block", + "src": "9003:301:14", + "statements": [ + { + "AST": { + "nativeSrc": "9161:133:14", + "nodeType": "YulBlock", + "src": "9161:133:14", + "statements": [ + { + "nativeSrc": "9179:40:14", + "nodeType": "YulVariableDeclaration", + "src": "9179:40:14", + "value": { + "arguments": [ + { + "name": "returndata", + "nativeSrc": "9208:10:14", + "nodeType": "YulIdentifier", + "src": "9208:10:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9202:5:14", + "nodeType": "YulIdentifier", + "src": "9202:5:14" + }, + "nativeSrc": "9202:17:14", + "nodeType": "YulFunctionCall", + "src": "9202:17:14" + }, + "variables": [ + { + "name": "returndata_size", + "nativeSrc": "9183:15:14", + "nodeType": "YulTypedName", + "src": "9183:15:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9247:2:14", + "nodeType": "YulLiteral", + "src": "9247:2:14", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nativeSrc": "9251:10:14", + "nodeType": "YulIdentifier", + "src": "9251:10:14" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9243:3:14", + "nodeType": "YulIdentifier", + "src": "9243:3:14" + }, + "nativeSrc": "9243:19:14", + "nodeType": "YulFunctionCall", + "src": "9243:19:14" + }, + { + "name": "returndata_size", + "nativeSrc": "9264:15:14", + "nodeType": "YulIdentifier", + "src": "9264:15:14" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9236:6:14", + "nodeType": "YulIdentifier", + "src": "9236:6:14" + }, + "nativeSrc": "9236:44:14", + "nodeType": "YulFunctionCall", + "src": "9236:44:14" + }, + "nativeSrc": "9236:44:14", + "nodeType": "YulExpressionStatement", + "src": "9236:44:14" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2968, + "isOffset": false, + "isSlot": false, + "src": "9208:10:14", + "valueSize": 1 + }, + { + "declaration": 2968, + "isOffset": false, + "isSlot": false, + "src": "9251:10:14", + "valueSize": 1 + } + ], + "id": 2977, + "nodeType": "InlineAssembly", + "src": "9152:142:14" + } + ] + } + } + ] + }, + "id": 2986, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "8830:7:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2968, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8851:10:14", + "nodeType": "VariableDeclaration", + "scope": 2986, + "src": "8838:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2967, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8838:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2970, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8877:12:14", + "nodeType": "VariableDeclaration", + "scope": 2986, + "src": "8863:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2969, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8863:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8837:53:14" + }, + "returnParameters": { + "id": 2972, + "nodeType": "ParameterList", + "parameters": [], + "src": "8904:0:14" + }, + "scope": 2987, + "src": "8821:540:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 2988, + "src": "194:9169:14", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:9263:14" + }, + "id": 14 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 3011 + ], + "IERC165": [ + 3023 + ] + }, + "id": 3012, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2989, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:15" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 2990, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3012, + "sourceUnit": 3024, + "src": "124:23:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2992, + "name": "IERC165", + "nameLocations": [ + "754:7:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "754:7:15" + }, + "id": 2993, + "nodeType": "InheritanceSpecifier", + "src": "754:7:15" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2991, + "nodeType": "StructuredDocumentation", + "src": "149:576:15", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 3011, + "linearizedBaseContracts": [ + 3011, + 3023 + ], + "name": "ERC165", + "nameLocation": "744:6:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 3022 + ], + "body": { + "id": 3009, + "nodeType": "Block", + "src": "920:64:15", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3002, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2996, + "src": "937:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3004, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "957:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$3023_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$3023_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 3003, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$3023", + "typeString": "type(contract IERC165)" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "966:11:15", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3001, + "id": 3008, + "nodeType": "Return", + "src": "930:47:15" + } + ] + }, + "documentation": { + "id": 2994, + "nodeType": "StructuredDocumentation", + "src": "768:56:15", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 3010, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:15", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2998, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:15" + }, + "parameters": { + "id": 2997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2996, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:15", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "856:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2995, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:15" + }, + "returnParameters": { + "id": 3001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3000, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "914:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2999, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:15" + }, + "scope": 3011, + "src": "829:155:15", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 3012, + "src": "726:260:15", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "99:888:15" + }, + "id": 15 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 3023 + ] + }, + "id": 3024, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3013, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:16" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3014, + "nodeType": "StructuredDocumentation", + "src": "125:279:16", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 3023, + "linearizedBaseContracts": [ + 3023 + ], + "name": "IERC165", + "nameLocation": "415:7:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3015, + "nodeType": "StructuredDocumentation", + "src": "429:340:16", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 3022, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3018, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3017, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:16", + "nodeType": "VariableDeclaration", + "scope": 3022, + "src": "801:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3016, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:16" + }, + "returnParameters": { + "id": 3021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3020, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3022, + "src": "844:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:16" + }, + "scope": 3023, + "src": "774:76:16", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3024, + "src": "405:447:16", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "100:753:16" + }, + "id": 16 + }, + "contracts/IAddrSetter.sol": { + "ast": { + "absolutePath": "contracts/IAddrSetter.sol", + "exportedSymbols": { + "IAddrSetter": [ + 3035 + ] + }, + "id": 3036, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3025, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "32:23:17" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddrSetter", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3035, + "linearizedBaseContracts": [ + 3035 + ], + "name": "IAddrSetter", + "nameLocation": "67:11:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "f00eebf4", + "id": 3034, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nameLocation": "94:7:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3027, + "mutability": "mutable", + "name": "name", + "nameLocation": "126:4:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "111:19:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3026, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "111:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3029, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "148:5:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "140:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "140:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "101:58:17" + }, + "returnParameters": { + "id": 3033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3032, + "mutability": "mutable", + "name": "result", + "nameLocation": "196:6:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "183:19:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3031, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "183:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "182:21:17" + }, + "scope": 3035, + "src": "85:119:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3036, + "src": "57:149:17", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:175:17" + }, + "id": 17 + }, + "contracts/ITargetResolver.sol": { + "ast": { + "absolutePath": "contracts/ITargetResolver.sol", + "exportedSymbols": { + "ITargetResolver": [ + 3047 + ] + }, + "id": 3048, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3037, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "32:23:18" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ITargetResolver", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3047, + "linearizedBaseContracts": [ + 3047 + ], + "name": "ITargetResolver", + "nameLocation": "67:15:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "15f64386", + "id": 3046, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getTarget", + "nameLocation": "98:9:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3039, + "mutability": "mutable", + "name": "name", + "nameLocation": "130:4:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "117:17:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3038, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "117:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "107:33:18" + }, + "returnParameters": { + "id": 3045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3042, + "mutability": "mutable", + "name": "node", + "nameLocation": "172:4:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "164:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "164:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3044, + "mutability": "mutable", + "name": "target", + "nameLocation": "186:6:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "178:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "178:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "163:30:18" + }, + "scope": 3047, + "src": "89:105:18", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3048, + "src": "57:139:18", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:165:18" + }, + "id": 18 + }, + "contracts/LabelUtils.sol": { + "ast": { + "absolutePath": "contracts/LabelUtils.sol", + "exportedSymbols": { + "LabelUtils": [ + 3272 + ] + }, + "id": 3273, + "license": "Apache-2.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3049, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "39:23:19" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "LabelUtils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3050, + "nodeType": "StructuredDocumentation", + "src": "64:94:19", + "text": " @title Library to perform ENS label manipulation\n @author ConsenSys Software Inc." + }, + "fullyImplemented": true, + "id": 3272, + "linearizedBaseContracts": [ + 3272 + ], + "name": "LabelUtils", + "nameLocation": "167:10:19", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3105, + "nodeType": "Block", + "src": "439:268:19", + "statements": [ + { + "assignments": [ + 3059 + ], + "declarations": [ + { + "constant": false, + "id": 3059, + "mutability": "mutable", + "name": "idx", + "nameLocation": "457:3:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "449:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "449:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3061, + "initialValue": { + "hexValue": "30", + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "463:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "449:15:19" + }, + { + "assignments": [ + 3063 + ], + "declarations": [ + { + "constant": false, + "id": 3063, + "mutability": "mutable", + "name": "labelLength", + "nameLocation": "480:11:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "474:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3062, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "474:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 3070, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3066, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3053, + "src": "500:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3068, + "indexExpression": { + "id": 3067, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "505:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "500:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "494:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3064, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "494:5:19", + "typeDescriptions": {} + } + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "494:16:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "474:36:19" + }, + { + "expression": { + "id": 3072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "520:5:19", + "subExpression": { + "id": 3071, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "520:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3073, + "nodeType": "ExpressionStatement", + "src": "520:5:19" + }, + { + "assignments": [ + 3075 + ], + "declarations": [ + { + "constant": false, + "id": 3075, + "mutability": "mutable", + "name": "label", + "nameLocation": "548:5:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "535:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3074, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "535:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3080, + "initialValue": { + "arguments": [ + { + "id": 3078, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "566:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "556:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3076, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "560:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "556:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "535:43:19" + }, + { + "body": { + "id": 3101, + "nodeType": "Block", + "src": "630:49:19", + "statements": [ + { + "expression": { + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3091, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3075, + "src": "644:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3093, + "indexExpression": { + "id": 3092, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "650:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "644:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 3094, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3053, + "src": "655:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3098, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3095, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "660:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3096, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "666:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "660:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:13:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "644:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 3100, + "nodeType": "ExpressionStatement", + "src": "644:24:19" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3085, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "608:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3086, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "612:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "608:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3102, + "initializationExpression": { + "assignments": [ + 3082 + ], + "declarations": [ + { + "constant": false, + "id": 3082, + "mutability": "mutable", + "name": "i", + "nameLocation": "601:1:19", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "593:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3081, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "593:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3084, + "initialValue": { + "hexValue": "30", + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "605:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "593:13:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "625:3:19", + "subExpression": { + "id": 3088, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "625:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3090, + "nodeType": "ExpressionStatement", + "src": "625:3:19" + }, + "nodeType": "ForStatement", + "src": "588:91:19" + }, + { + "expression": { + "id": 3103, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3075, + "src": "695:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3057, + "id": 3104, + "nodeType": "Return", + "src": "688:12:19" + } + ] + }, + "documentation": { + "id": 3051, + "nodeType": "StructuredDocumentation", + "src": "184:153:19", + "text": " Extract the first label name from a dns encoded ens domain\n @param name the dns encoded ENS domain\n @return label as bytes" + }, + "functionSelector": "94bc2db6", + "id": 3106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractFirstLabel", + "nameLocation": "351:17:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3053, + "mutability": "mutable", + "name": "name", + "nameLocation": "391:4:19", + "nodeType": "VariableDeclaration", + "scope": 3106, + "src": "378:17:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3052, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "378:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "368:33:19" + }, + "returnParameters": { + "id": 3057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3056, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3106, + "src": "425:12:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3055, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "425:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "424:14:19" + }, + "scope": 3272, + "src": "342:365:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3179, + "nodeType": "Block", + "src": "969:571:19", + "statements": [ + { + "assignments": [ + 3115 + ], + "declarations": [ + { + "constant": false, + "id": 3115, + "mutability": "mutable", + "name": "num", + "nameLocation": "987:3:19", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "979:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "979:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3117, + "initialValue": { + "hexValue": "30", + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "993:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "979:15:19" + }, + { + "assignments": [ + 3119 + ], + "declarations": [ + { + "constant": false, + "id": 3119, + "mutability": "mutable", + "name": "hasNumber", + "nameLocation": "1009:9:19", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1004:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3118, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1004:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 3121, + "initialValue": { + "hexValue": "66616c7365", + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1021:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1004:22:19" + }, + { + "body": { + "id": 3170, + "nodeType": "Block", + "src": "1080:378:19", + "statements": [ + { + "assignments": [ + 3134 + ], + "declarations": [ + { + "constant": false, + "id": 3134, + "mutability": "mutable", + "name": "char", + "nameLocation": "1100:4:19", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "1094:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3133, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1094:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 3141, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3137, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3109, + "src": "1113:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3139, + "indexExpression": { + "id": 3138, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1119:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1113:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1107:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3135, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1107:5:19", + "typeDescriptions": {} + } + }, + "id": 3140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1107:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1094:28:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3142, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1140:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3438", + "id": 3143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1148:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "1140:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3145, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1154:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3537", + "id": 3146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1162:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "src": "1154:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1140:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "id": 3165, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1324:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3168, + "nodeType": "IfStatement", + "src": "1320:128:19", + "trueBody": { + "id": 3167, + "nodeType": "Block", + "src": "1335:113:19", + "statements": [ + { + "id": 3166, + "nodeType": "Break", + "src": "1428:5:19" + } + ] + } + }, + "id": 3169, + "nodeType": "IfStatement", + "src": "1136:312:19", + "trueBody": { + "id": 3164, + "nodeType": "Block", + "src": "1166:148:19", + "statements": [ + { + "expression": { + "id": 3158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3149, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1237:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3150, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1243:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3130", + "id": 3151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1249:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "1243:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3153, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1255:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "3438", + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1262:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "1255:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 3156, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1254:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "1243:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3159, + "nodeType": "ExpressionStatement", + "src": "1237:28:19" + }, + { + "expression": { + "id": 3162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3160, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1283:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1295:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1283:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3163, + "nodeType": "ExpressionStatement", + "src": "1283:16:19" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3126, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1057:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3127, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3109, + "src": "1061:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1067:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1061:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1057:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3171, + "initializationExpression": { + "assignments": [ + 3123 + ], + "declarations": [ + { + "constant": false, + "id": 3123, + "mutability": "mutable", + "name": "i", + "nameLocation": "1050:1:19", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "1042:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1042:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3125, + "initialValue": { + "hexValue": "30", + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1054:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1042:13:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1075:3:19", + "subExpression": { + "id": 3130, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1075:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3132, + "nodeType": "ExpressionStatement", + "src": "1075:3:19" + }, + "nodeType": "ForStatement", + "src": "1037:421:19" + }, + { + "expression": { + "arguments": [ + { + "id": 3173, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1476:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f206e756d657269632073756666697820666f756e64", + "id": 3174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1487:25:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "typeString": "literal_string \"No numeric suffix found\"" + }, + "value": "No numeric suffix found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "typeString": "literal_string \"No numeric suffix found\"" + } + ], + "id": 3172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1468:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1468:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3176, + "nodeType": "ExpressionStatement", + "src": "1468:45:19" + }, + { + "expression": { + "id": 3177, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1530:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3113, + "id": 3178, + "nodeType": "Return", + "src": "1523:10:19" + } + ] + }, + "documentation": { + "id": 3107, + "nodeType": "StructuredDocumentation", + "src": "713:155:19", + "text": " Extract the numeric suffix from the dns encoded label\n @param label the dns encoded label\n @return number the numeric suffix" + }, + "functionSelector": "08dea91d", + "id": 3180, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractNumericSuffix", + "nameLocation": "882:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3109, + "mutability": "mutable", + "name": "label", + "nameLocation": "925:5:19", + "nodeType": "VariableDeclaration", + "scope": 3180, + "src": "912:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3108, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "912:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "902:34:19" + }, + "returnParameters": { + "id": 3113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3112, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3180, + "src": "960:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "960:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "959:9:19" + }, + "scope": 3272, + "src": "873:667:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3218, + "nodeType": "Block", + "src": "1760:261:19", + "statements": [ + { + "body": { + "id": 3214, + "nodeType": "Block", + "src": "1810:184:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3199, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1903:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3201, + "indexExpression": { + "id": 3200, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1909:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1903:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30783330", + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1914:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "1903:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3204, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1922:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3206, + "indexExpression": { + "id": 3205, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1928:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1922:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30783339", + "id": 3207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1933:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "0x39" + }, + "src": "1922:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1903:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3213, + "nodeType": "IfStatement", + "src": "1899:85:19", + "trueBody": { + "id": 3212, + "nodeType": "Block", + "src": "1939:45:19", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 3210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3187, + "id": 3211, + "nodeType": "Return", + "src": "1957:12:19" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3192, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1787:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3193, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1791:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1797:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1791:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1787:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3215, + "initializationExpression": { + "assignments": [ + 3189 + ], + "declarations": [ + { + "constant": false, + "id": 3189, + "mutability": "mutable", + "name": "i", + "nameLocation": "1780:1:19", + "nodeType": "VariableDeclaration", + "scope": 3215, + "src": "1775:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3188, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1775:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3191, + "initialValue": { + "hexValue": "30", + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1775:10:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1805:3:19", + "subExpression": { + "id": 3196, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1805:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3198, + "nodeType": "ExpressionStatement", + "src": "1805:3:19" + }, + "nodeType": "ForStatement", + "src": "1770:224:19" + }, + { + "expression": { + "hexValue": "74727565", + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3187, + "id": 3217, + "nodeType": "Return", + "src": "2003:11:19" + } + ] + }, + "documentation": { + "id": 3181, + "nodeType": "StructuredDocumentation", + "src": "1546:144:19", + "text": " Check if the bytes param is a number or not\n @param input bytes to check\n @return true if number, false otherwise" + }, + "functionSelector": "e5c4cf73", + "id": 3219, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isNumber", + "nameLocation": "1704:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3183, + "mutability": "mutable", + "name": "input", + "nameLocation": "1726:5:19", + "nodeType": "VariableDeclaration", + "scope": 3219, + "src": "1713:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3182, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1713:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1712:20:19" + }, + "returnParameters": { + "id": 3187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3186, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3219, + "src": "1754:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3185, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1754:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1753:6:19" + }, + "scope": 3272, + "src": "1695:326:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3270, + "nodeType": "Block", + "src": "2268:325:19", + "statements": [ + { + "assignments": [ + 3228 + ], + "declarations": [ + { + "constant": false, + "id": 3228, + "mutability": "mutable", + "name": "count", + "nameLocation": "2283:5:19", + "nodeType": "VariableDeclaration", + "scope": 3270, + "src": "2278:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3227, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2278:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3230, + "initialValue": { + "hexValue": "30", + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2291:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2278:14:19" + }, + { + "assignments": [ + 3232 + ], + "declarations": [ + { + "constant": false, + "id": 3232, + "mutability": "mutable", + "name": "i", + "nameLocation": "2307:1:19", + "nodeType": "VariableDeclaration", + "scope": 3270, + "src": "2302:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3231, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2302:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3234, + "initialValue": { + "hexValue": "30", + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2311:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2302:10:19" + }, + { + "body": { + "id": 3266, + "nodeType": "Block", + "src": "2348:216:19", + "statements": [ + { + "assignments": [ + 3240 + ], + "declarations": [ + { + "constant": false, + "id": 3240, + "mutability": "mutable", + "name": "labelLength", + "nameLocation": "2367:11:19", + "nodeType": "VariableDeclaration", + "scope": 3266, + "src": "2362:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2362:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3250, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 3245, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3222, + "src": "2392:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3247, + "indexExpression": { + "id": 3246, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2398:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2392:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2386:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3243, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2386:5:19", + "typeDescriptions": {} + } + }, + "id": 3248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2386:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2381:4:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3241, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2381:4:19", + "typeDescriptions": {} + } + }, + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2381:21:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2362:40:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3251, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3240, + "src": "2420:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2435:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2420:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3256, + "nodeType": "IfStatement", + "src": "2416:83:19", + "trueBody": { + "id": 3255, + "nodeType": "Block", + "src": "2438:61:19", + "statements": [ + { + "id": 3254, + "nodeType": "Break", + "src": "2456:5:19" + } + ] + } + }, + { + "expression": { + "id": 3258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2512:7:19", + "subExpression": { + "id": 3257, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3228, + "src": "2512:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3259, + "nodeType": "ExpressionStatement", + "src": "2512:7:19" + }, + { + "expression": { + "id": 3264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3260, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2533:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3261, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3240, + "src": "2538:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2552:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2538:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2533:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3265, + "nodeType": "ExpressionStatement", + "src": "2533:20:19" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3235, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2330:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3236, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3222, + "src": "2334:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2340:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2334:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2330:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3267, + "nodeType": "WhileStatement", + "src": "2323:241:19" + }, + { + "expression": { + "id": 3268, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3228, + "src": "2581:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3226, + "id": 3269, + "nodeType": "Return", + "src": "2574:12:19" + } + ] + }, + "documentation": { + "id": 3220, + "nodeType": "StructuredDocumentation", + "src": "2027:168:19", + "text": " Counts the number of labels in the DNS encoded input given\n @param input the DNS encoded input to count from\n @return number labels found" + }, + "functionSelector": "4062ace3", + "id": 3271, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "countLabels", + "nameLocation": "2209:11:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3222, + "mutability": "mutable", + "name": "input", + "nameLocation": "2234:5:19", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "2221:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3221, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2221:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2220:20:19" + }, + "returnParameters": { + "id": 3226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3225, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "2262:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3224, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2262:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2261:6:19" + }, + "scope": 3272, + "src": "2200:393:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3273, + "src": "159:2436:19", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "39:2557:19" + }, + "id": 19 + }, + "contracts/NFTResolver.sol": { + "ast": { + "absolutePath": "contracts/NFTResolver.sol", + "exportedSymbols": { + "BytesUtils": [ + 2017 + ], + "ENS": [ + 1030 + ], + "ERC165": [ + 3011 + ], + "EVMFetchTarget": [ + 122 + ], + "EVMFetcher": [ + 771 + ], + "IAddrResolver": [ + 1048 + ], + "IAddrSetter": [ + 3035 + ], + "IAddressResolver": [ + 1069 + ], + "IERC165": [ + 3023 + ], + "IEVMVerifier": [ + 798 + ], + "IExtendedResolver": [ + 1081 + ], + "INameWrapper": [ + 2401 + ], + "ITargetResolver": [ + 3047 + ], + "LabelUtils": [ + 3272 + ], + "NFTResolver": [ + 3993 + ] + }, + "id": 3994, + "license": "Apache-2.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3274, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "39:23:20" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "file": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "id": 3276, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 772, + "src": "64:84:20", + "symbolAliases": [ + { + "foreign": { + "id": 3275, + "name": "EVMFetcher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "72:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "file": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "id": 3278, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 123, + "src": "149:92:20", + "symbolAliases": [ + { + "foreign": { + "id": 3277, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "157:14:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "id": 3280, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 799, + "src": "242:88:20", + "symbolAliases": [ + { + "foreign": { + "id": 3279, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "250:12:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "id": 3281, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1031, + "src": "331:62:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "file": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "id": 3283, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 2402, + "src": "394:90:20", + "symbolAliases": [ + { + "foreign": { + "id": 3282, + "name": "INameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "402:12:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "file": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "id": 3285, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 2018, + "src": "485:84:20", + "symbolAliases": [ + { + "foreign": { + "id": 3284, + "name": "BytesUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2017, + "src": "493:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "id": 3287, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1049, + "src": "570:103:20", + "symbolAliases": [ + { + "foreign": { + "id": 3286, + "name": "IAddrResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "578:13:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "id": 3289, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1070, + "src": "674:109:20", + "symbolAliases": [ + { + "foreign": { + "id": 3288, + "name": "IAddressResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "682:16:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "id": 3290, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1082, + "src": "784:86:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/ITargetResolver.sol", + "file": "./ITargetResolver.sol", + "id": 3292, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3048, + "src": "871:54:20", + "symbolAliases": [ + { + "foreign": { + "id": 3291, + "name": "ITargetResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3047, + "src": "879:15:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/IAddrSetter.sol", + "file": "./IAddrSetter.sol", + "id": 3294, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3036, + "src": "926:46:20", + "symbolAliases": [ + { + "foreign": { + "id": 3293, + "name": "IAddrSetter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "934:11:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "id": 3295, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3012, + "src": "973:64:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/LabelUtils.sol", + "file": "./LabelUtils.sol", + "id": 3297, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3273, + "src": "1038:44:20", + "symbolAliases": [ + { + "foreign": { + "id": 3296, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "1046:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3298, + "name": "EVMFetchTarget", + "nameLocations": [ + "1112:14:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 122, + "src": "1112:14:20" + }, + "id": 3299, + "nodeType": "InheritanceSpecifier", + "src": "1112:14:20" + }, + { + "baseName": { + "id": 3300, + "name": "ITargetResolver", + "nameLocations": [ + "1132:15:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3047, + "src": "1132:15:20" + }, + "id": 3301, + "nodeType": "InheritanceSpecifier", + "src": "1132:15:20" + }, + { + "baseName": { + "id": 3302, + "name": "IExtendedResolver", + "nameLocations": [ + "1153:17:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1081, + "src": "1153:17:20" + }, + "id": 3303, + "nodeType": "InheritanceSpecifier", + "src": "1153:17:20" + }, + { + "baseName": { + "id": 3304, + "name": "IAddrSetter", + "nameLocations": [ + "1176:11:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3035, + "src": "1176:11:20" + }, + "id": 3305, + "nodeType": "InheritanceSpecifier", + "src": "1176:11:20" + }, + { + "baseName": { + "id": 3306, + "name": "ERC165", + "nameLocations": [ + "1193:6:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3011, + "src": "1193:6:20" + }, + "id": 3307, + "nodeType": "InheritanceSpecifier", + "src": "1193:6:20" + } + ], + "canonicalName": "NFTResolver", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3993, + "linearizedBaseContracts": [ + 3993, + 3011, + 3023, + 3035, + 1081, + 3047, + 122 + ], + "name": "NFTResolver", + "nameLocation": "1093:11:20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 3311, + "libraryName": { + "id": 3308, + "name": "EVMFetcher", + "nameLocations": [ + "1212:10:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 771, + "src": "1212:10:20" + }, + "nodeType": "UsingForDirective", + "src": "1206:48:20", + "typeName": { + "id": 3310, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3309, + "name": "EVMFetcher.EVMFetchRequest", + "nameLocations": [ + "1227:10:20", + "1238:15:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "1227:26:20" + }, + "referencedDeclaration": 205, + "src": "1227:26:20", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + } + }, + { + "global": false, + "id": 3314, + "libraryName": { + "id": 3312, + "name": "BytesUtils", + "nameLocations": [ + "1265:10:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2017, + "src": "1265:10:20" + }, + "nodeType": "UsingForDirective", + "src": "1259:27:20", + "typeName": { + "id": 3313, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1280:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "constant": false, + "functionSelector": "2b7ac3f3", + "id": 3317, + "mutability": "immutable", + "name": "verifier", + "nameLocation": "1321:8:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1291:38:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 3316, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3315, + "name": "IEVMVerifier", + "nameLocations": [ + "1291:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1291:12:20" + }, + "referencedDeclaration": 798, + "src": "1291:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "3f15457f", + "id": 3320, + "mutability": "immutable", + "name": "ens", + "nameLocation": "1356:3:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1335:24:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 3319, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3318, + "name": "ENS", + "nameLocations": [ + "1335:3:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "1335:3:20" + }, + "referencedDeclaration": 1030, + "src": "1335:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "a8e5fbc0", + "id": 3323, + "mutability": "immutable", + "name": "nameWrapper", + "nameLocation": "1395:11:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1365:41:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + }, + "typeName": { + "id": 3322, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3321, + "name": "INameWrapper", + "nameLocations": [ + "1365:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2401, + "src": "1365:12:20" + }, + "referencedDeclaration": 2401, + "src": "1365:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d6ae3cd5", + "id": 3325, + "mutability": "immutable", + "name": "l2ChainId", + "nameLocation": "1437:9:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1412:34:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1412:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 3329, + "mutability": "mutable", + "name": "targets", + "nameLocation": "1519:7:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1491:35:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 3328, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1499:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1491:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1510:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "mutability": "mutable", + "name": "baseNodeResolvers", + "nameLocation": "1607:17:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1579:45:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 3332, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1587:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1579:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3337, + "mutability": "mutable", + "name": "targetAddrSlots", + "nameLocation": "1739:15:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1711:43:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 3336, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1719:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1711:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1730:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3340, + "mutability": "constant", + "name": "ACCEPTED_L2_BLOCK_RANGE_LENGTH", + "nameLocation": "1860:30:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1843:55:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1843:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3836343030", + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1893:5:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "visibility": "internal" + }, + { + "anonymous": false, + "eventSelector": "88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8", + "id": 3346, + "name": "TargetSet", + "nameLocation": "1911:9:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3342, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "1927:4:20", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "1921:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3341, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1921:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3344, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "1941:6:20", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "1933:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1933:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1920:28:20" + }, + "src": "1905:44:20" + }, + { + "anonymous": false, + "eventSelector": "0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c", + "id": 3352, + "name": "BaseNodeResolverSet", + "nameLocation": "1960:19:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3348, + "indexed": false, + "mutability": "mutable", + "name": "node", + "nameLocation": "1988:4:20", + "nodeType": "VariableDeclaration", + "scope": 3352, + "src": "1980:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3347, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1980:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3350, + "indexed": false, + "mutability": "mutable", + "name": "resolverAddr", + "nameLocation": "2002:12:20", + "nodeType": "VariableDeclaration", + "scope": 3352, + "src": "1994:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1994:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1979:36:20" + }, + "src": "1954:62:20" + }, + { + "anonymous": false, + "eventSelector": "d24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e7", + "id": 3358, + "name": "TargetAddrSlotSet", + "nameLocation": "2027:17:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3354, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "2053:6:20", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "2045:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2045:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3356, + "indexed": false, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2069:4:20", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "2061:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2061:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2044:30:20" + }, + "src": "2021:54:20" + }, + { + "body": { + "id": 3395, + "nodeType": "Block", + "src": "2146:195:20", + "statements": [ + { + "assignments": [ + 3366 + ], + "declarations": [ + { + "constant": false, + "id": 3366, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2164:5:20", + "nodeType": "VariableDeclaration", + "scope": 3395, + "src": "2156:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2156:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3371, + "initialValue": { + "arguments": [ + { + "id": 3369, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2182:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3367, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "2172:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2176:5:20", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 999, + "src": "2172:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2172:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2156:31:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3372, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2201:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 3375, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2218:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + ], + "id": 3374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2210:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2210:7:20", + "typeDescriptions": {} + } + }, + "id": 3376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2210:20:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2201:29:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3389, + "nodeType": "IfStatement", + "src": "2197:102:20", + "trueBody": { + "id": 3388, + "nodeType": "Block", + "src": "2232:67:20", + "statements": [ + { + "expression": { + "id": 3386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3378, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2246:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 3383, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2282:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2274:7:20", + "typeDescriptions": {} + } + }, + "id": 3384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2274:13:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3379, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2254:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2266:7:20", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2331, + "src": "2254:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2254:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2246:42:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3387, + "nodeType": "ExpressionStatement", + "src": "2246:42:20" + } + ] + } + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3390, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2315:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 3391, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2324:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2328:6:20", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2324:10:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2315:19:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3364, + "id": 3394, + "nodeType": "Return", + "src": "2308:26:20" + } + ] + }, + "id": 3396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAuthorised", + "nameLocation": "2090:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3360, + "mutability": "mutable", + "name": "node", + "nameLocation": "2111:4:20", + "nodeType": "VariableDeclaration", + "scope": 3396, + "src": "2103:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2103:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2102:14:20" + }, + "returnParameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3363, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3396, + "src": "2140:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3362, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2140:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2139:6:20" + }, + "scope": 3993, + "src": "2081:260:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "documentation": { + "id": 3397, + "nodeType": "StructuredDocumentation", + "src": "2347:261:20", + "text": " @dev EIP-5559 - Error to raise when mutations are being deferred to an L2.\n @param chainId Chain ID to perform the deferred mutation to.\n @param contractAddress Contract Address at which the deferred mutation should transact with." + }, + "errorSelector": "e0a05071", + "id": 3403, + "name": "StorageHandledByL2", + "nameLocation": "2619:18:20", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3399, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "2646:7:20", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "2638:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3398, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2638:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3401, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "2663:15:20", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "2655:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2655:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2637:42:20" + }, + "src": "2613:67:20" + }, + { + "body": { + "id": 3473, + "nodeType": "Block", + "src": "3083:444:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3421, + "name": "_nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3413, + "src": "3122:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + ], + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3114:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3114:7:20", + "typeDescriptions": {} + } + }, + "id": 3422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:21:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3147:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3139:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3139:7:20", + "typeDescriptions": {} + } + }, + "id": 3426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3139:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3114:35:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e616d6520577261707065722061646472657373206d75737420626520736574", + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3163:34:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "typeString": "literal_string \"Name Wrapper address must be set\"" + }, + "value": "Name Wrapper address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "typeString": "literal_string \"Name Wrapper address must be set\"" + } + ], + "id": 3418, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3093:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3093:114:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3430, + "nodeType": "ExpressionStatement", + "src": "3093:114:20" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3434, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "3246:9:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + ], + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3238:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3238:7:20", + "typeDescriptions": {} + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3238:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3268:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3260:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3260:7:20", + "typeDescriptions": {} + } + }, + "id": 3439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3260:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3238:32:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "56657269666965722061646472657373206d75737420626520736574", + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3284:30:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "typeString": "literal_string \"Verifier address must be set\"" + }, + "value": "Verifier address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "typeString": "literal_string \"Verifier address must be set\"" + } + ], + "id": 3431, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3217:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3217:107:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3443, + "nodeType": "ExpressionStatement", + "src": "3217:107:20" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3447, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "3350:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + ], + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3342:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3342:7:20", + "typeDescriptions": {} + } + }, + "id": 3448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3342:13:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3367:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3359:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3359:7:20", + "typeDescriptions": {} + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3359:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3342:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52656769737472792061646472657373206d75737420626520736574", + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3371:30:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "typeString": "literal_string \"Registry address must be set\"" + }, + "value": "Registry address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "typeString": "literal_string \"Registry address must be set\"" + } + ], + "id": 3444, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3334:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3334:68:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3456, + "nodeType": "ExpressionStatement", + "src": "3334:68:20" + }, + { + "expression": { + "id": 3459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3457, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3317, + "src": "3412:8:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3458, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "3423:9:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "src": "3412:20:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 3460, + "nodeType": "ExpressionStatement", + "src": "3412:20:20" + }, + { + "expression": { + "id": 3463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3461, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "3442:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3462, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "3448:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "src": "3442:10:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "id": 3464, + "nodeType": "ExpressionStatement", + "src": "3442:10:20" + }, + { + "expression": { + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3465, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "3462:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3466, + "name": "_nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3413, + "src": "3476:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "src": "3462:26:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "id": 3468, + "nodeType": "ExpressionStatement", + "src": "3462:26:20" + }, + { + "expression": { + "id": 3471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3469, + "name": "l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "3498:9:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3470, + "name": "_l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3415, + "src": "3510:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3498:22:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3472, + "nodeType": "ExpressionStatement", + "src": "3498:22:20" + } + ] + }, + "documentation": { + "id": 3404, + "nodeType": "StructuredDocumentation", + "src": "2686:261:20", + "text": " @param _verifier The chain verifier address.\n @param _ens The ENS registry address.\n @param _nameWrapper The ENS name wrapper address.\n @param _l2ChainId The chainId at which the resolver resolves data from." + }, + "id": 3474, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "_verifier", + "nameLocation": "2986:9:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "2973:22:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 3406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3405, + "name": "IEVMVerifier", + "nameLocations": [ + "2973:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "2973:12:20" + }, + "referencedDeclaration": 798, + "src": "2973:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3410, + "mutability": "mutable", + "name": "_ens", + "nameLocation": "3009:4:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3005:8:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 3409, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3408, + "name": "ENS", + "nameLocations": [ + "3005:3:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "3005:3:20" + }, + "referencedDeclaration": 1030, + "src": "3005:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3413, + "mutability": "mutable", + "name": "_nameWrapper", + "nameLocation": "3036:12:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3023:25:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + }, + "typeName": { + "id": 3412, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3411, + "name": "INameWrapper", + "nameLocations": [ + "3023:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2401, + "src": "3023:12:20" + }, + "referencedDeclaration": 2401, + "src": "3023:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3415, + "mutability": "mutable", + "name": "_l2ChainId", + "nameLocation": "3066:10:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3058:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3058:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2963:119:20" + }, + "returnParameters": { + "id": 3417, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:0:20" + }, + "scope": 3993, + "src": "2952:575:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 121 + ], + "body": { + "id": 3483, + "nodeType": "Block", + "src": "3706:54:20", + "statements": [ + { + "expression": { + "id": 3481, + "name": "ACCEPTED_L2_BLOCK_RANGE_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3340, + "src": "3723:30:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3480, + "id": 3482, + "nodeType": "Return", + "src": "3716:37:20" + } + ] + }, + "documentation": { + "id": 3475, + "nodeType": "StructuredDocumentation", + "src": "3533:52:20", + "text": " @dev inherits from EVMFetchTarget" + }, + "functionSelector": "6d74e86e", + "id": 3484, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAcceptedL2BlockRangeLength", + "nameLocation": "3599:29:20", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3477, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3667:8:20" + }, + "parameters": { + "id": 3476, + "nodeType": "ParameterList", + "parameters": [], + "src": "3628:2:20" + }, + "returnParameters": { + "id": 3480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3479, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3484, + "src": "3693:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3693:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3692:9:20" + }, + "scope": 3993, + "src": "3590:170:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3516, + "nodeType": "Block", + "src": "4019:238:20", + "statements": [ + { + "assignments": [ + 3493, + null + ], + "declarations": [ + { + "constant": false, + "id": 3493, + "mutability": "mutable", + "name": "node", + "nameLocation": "4038:4:20", + "nodeType": "VariableDeclaration", + "scope": 3516, + "src": "4030:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3492, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4030:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3497, + "initialValue": { + "arguments": [ + { + "id": 3495, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3487, + "src": "4058:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3494, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "4048:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4048:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4029:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3500, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3493, + "src": "4107:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3499, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "4094:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4094:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420666f722074686973206e6f6465", + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4126:44:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "typeString": "literal_string \"Not authorized to set target for this node\"" + }, + "value": "Not authorized to set target for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "typeString": "literal_string \"Not authorized to set target for this node\"" + } + ], + "id": 3498, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4073:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4073:107:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3504, + "nodeType": "ExpressionStatement", + "src": "4073:107:20" + }, + { + "expression": { + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3505, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4190:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3507, + "indexExpression": { + "id": 3506, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3493, + "src": "4198:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4190:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3508, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3489, + "src": "4206:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4190:22:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3510, + "nodeType": "ExpressionStatement", + "src": "4190:22:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3512, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3487, + "src": "4237:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 3513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3489, + "src": "4243:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3511, + "name": "TargetSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3346, + "src": "4227:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (bytes memory,address)" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4227:23:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3515, + "nodeType": "EmitStatement", + "src": "4222:28:20" + } + ] + }, + "documentation": { + "id": 3485, + "nodeType": "StructuredDocumentation", + "src": "3766:183:20", + "text": " Set target address to verify against.\n @param name The DNS encoded name to set the target for.\n @param target The L2 resolver address to verify against." + }, + "functionSelector": "d358df77", + "id": 3517, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setTarget", + "nameLocation": "3963:9:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3487, + "mutability": "mutable", + "name": "name", + "nameLocation": "3988:4:20", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "3973:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3486, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3973:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3489, + "mutability": "mutable", + "name": "target", + "nameLocation": "4002:6:20", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "3994:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3994:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3972:37:20" + }, + "returnParameters": { + "id": 3491, + "nodeType": "ParameterList", + "parameters": [], + "src": "4019:0:20" + }, + "scope": 3993, + "src": "3954:303:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3549, + "nodeType": "Block", + "src": "4548:272:20", + "statements": [ + { + "assignments": [ + 3526, + null + ], + "declarations": [ + { + "constant": false, + "id": 3526, + "mutability": "mutable", + "name": "node", + "nameLocation": "4567:4:20", + "nodeType": "VariableDeclaration", + "scope": 3549, + "src": "4559:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4559:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3530, + "initialValue": { + "arguments": [ + { + "id": 3528, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "4587:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3527, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "4577:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4577:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4558:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3533, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4636:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3532, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "4623:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4623:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f20736574207265736f6c76657220666f722074686973206e6f6465", + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4655:46:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "typeString": "literal_string \"Not authorized to set resolver for this node\"" + }, + "value": "Not authorized to set resolver for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "typeString": "literal_string \"Not authorized to set resolver for this node\"" + } + ], + "id": 3531, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4602:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4602:109:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3537, + "nodeType": "ExpressionStatement", + "src": "4602:109:20" + }, + { + "expression": { + "id": 3542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3538, + "name": "baseNodeResolvers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3333, + "src": "4721:17:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3540, + "indexExpression": { + "id": 3539, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4739:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4721:23:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3541, + "name": "resolverAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "4747:12:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4721:38:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3543, + "nodeType": "ExpressionStatement", + "src": "4721:38:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3545, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4794:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3546, + "name": "resolverAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "4800:12:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3544, + "name": "BaseNodeResolverSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3352, + "src": "4774:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4774:39:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3548, + "nodeType": "EmitStatement", + "src": "4769:44:20" + } + ] + }, + "documentation": { + "id": 3518, + "nodeType": "StructuredDocumentation", + "src": "4263:177:20", + "text": " Set base node resolver address.\n @param name The DNS encoded name to set the base node resolver.\n @param resolverAddr The resolver address to use." + }, + "functionSelector": "ac8a4a5d", + "id": 3550, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setBaseNodeResolver", + "nameLocation": "4454:19:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3520, + "mutability": "mutable", + "name": "name", + "nameLocation": "4498:4:20", + "nodeType": "VariableDeclaration", + "scope": 3550, + "src": "4483:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3519, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4483:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3522, + "mutability": "mutable", + "name": "resolverAddr", + "nameLocation": "4520:12:20", + "nodeType": "VariableDeclaration", + "scope": 3550, + "src": "4512:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4512:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4473:65:20" + }, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [], + "src": "4548:0:20" + }, + "scope": 3993, + "src": "4445:375:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3588, + "nodeType": "Block", + "src": "5112:307:20", + "statements": [ + { + "assignments": [ + 3559, + null + ], + "declarations": [ + { + "constant": false, + "id": 3559, + "mutability": "mutable", + "name": "node", + "nameLocation": "5131:4:20", + "nodeType": "VariableDeclaration", + "scope": 3588, + "src": "5123:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3558, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5123:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3563, + "initialValue": { + "arguments": [ + { + "id": 3561, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3553, + "src": "5151:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3560, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "5141:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5141:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5122:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3566, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "5200:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3565, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "5187:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5187:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f2073657420746172676574206164647265737320736c6f7420666f722074686973206e6f6465", + "id": 3568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5219:57:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "typeString": "literal_string \"Not authorized to set target address slot for this node\"" + }, + "value": "Not authorized to set target address slot for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "typeString": "literal_string \"Not authorized to set target address slot for this node\"" + } + ], + "id": 3564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5166:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5166:120:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3570, + "nodeType": "ExpressionStatement", + "src": "5166:120:20" + }, + { + "assignments": [ + 3572 + ], + "declarations": [ + { + "constant": false, + "id": 3572, + "mutability": "mutable", + "name": "target", + "nameLocation": "5304:6:20", + "nodeType": "VariableDeclaration", + "scope": 3588, + "src": "5296:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5296:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3576, + "initialValue": { + "baseExpression": { + "id": 3573, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "5313:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3575, + "indexExpression": { + "id": 3574, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "5321:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5313:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5296:30:20" + }, + { + "expression": { + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3577, + "name": "targetAddrSlots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3337, + "src": "5336:15:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3579, + "indexExpression": { + "id": 3578, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "5352:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5336:23:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3580, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3555, + "src": "5362:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5336:30:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3582, + "nodeType": "ExpressionStatement", + "src": "5336:30:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3584, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "5399:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3585, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3555, + "src": "5407:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3583, + "name": "TargetAddrSlotSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3358, + "src": "5381:17:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5381:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3587, + "nodeType": "EmitStatement", + "src": "5376:36:20" + } + ] + }, + "documentation": { + "id": 3551, + "nodeType": "StructuredDocumentation", + "src": "4826:210:20", + "text": " Set the slot to query by ccip to get the address from the target contract.\n @param name The DNS encoded name to set the target address slot to query.\n @param slot The slot to set." + }, + "functionSelector": "ac177c37", + "id": 3589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setTargetAddrSlot", + "nameLocation": "5050:17:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3553, + "mutability": "mutable", + "name": "name", + "nameLocation": "5083:4:20", + "nodeType": "VariableDeclaration", + "scope": 3589, + "src": "5068:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3552, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5068:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3555, + "mutability": "mutable", + "name": "slot", + "nameLocation": "5097:4:20", + "nodeType": "VariableDeclaration", + "scope": 3589, + "src": "5089:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5089:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5067:35:20" + }, + "returnParameters": { + "id": 3557, + "nodeType": "ParameterList", + "parameters": [], + "src": "5112:0:20" + }, + "scope": 3993, + "src": "5041:378:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3046 + ], + "body": { + "id": 3604, + "nodeType": "Block", + "src": "5779:43:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3600, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "5807:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 3601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5813:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3599, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "5796:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5796:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3598, + "id": 3603, + "nodeType": "Return", + "src": "5789:26:20" + } + ] + }, + "documentation": { + "id": 3590, + "nodeType": "StructuredDocumentation", + "src": "5425:246:20", + "text": " @dev Returns the L2 target address that can answer queries for `name`.\n @param name DNS encoded ENS name to query.\n @return node The node of the name.\n @return target The L2 resolver address to verify against." + }, + "functionSelector": "15f64386", + "id": 3605, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTarget", + "nameLocation": "5685:9:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3592, + "mutability": "mutable", + "name": "name", + "nameLocation": "5717:4:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5704:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3591, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5704:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5694:33:20" + }, + "returnParameters": { + "id": 3598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3595, + "mutability": "mutable", + "name": "node", + "nameLocation": "5757:4:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5749:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5749:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3597, + "mutability": "mutable", + "name": "target", + "nameLocation": "5771:6:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5763:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5763:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5748:30:20" + }, + "scope": 3993, + "src": "5676:146:20", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3699, + "nodeType": "Block", + "src": "5957:497:20", + "statements": [ + { + "assignments": [ + 3617 + ], + "declarations": [ + { + "constant": false, + "id": 3617, + "mutability": "mutable", + "name": "len", + "nameLocation": "5975:3:20", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "5967:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5967:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3622, + "initialValue": { + "arguments": [ + { + "id": 3620, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "5996:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3618, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "5981:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5986:9:20", + "memberName": "readUint8", + "nodeType": "MemberAccess", + "referencedDeclaration": 1552, + "src": "5981:14:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8)" + } + }, + "id": 3621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5981:22:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5967:36:20" + }, + { + "expression": { + "id": 3628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3623, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6013:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 3626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6028:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6020:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6020:7:20", + "typeDescriptions": {} + } + }, + "id": 3627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6020:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6013:17:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3629, + "nodeType": "ExpressionStatement", + "src": "6013:17:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3630, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6044:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6050:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6044:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3693, + "nodeType": "Block", + "src": "6361:56:20", + "statements": [ + { + "expression": { + "components": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 3685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6391:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6383:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6383:7:20", + "typeDescriptions": {} + } + }, + "id": 3686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6383:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 3689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6403:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6395:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3687, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6395:7:20", + "typeDescriptions": {} + } + }, + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6395:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3691, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6382:24:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3692, + "nodeType": "Return", + "src": "6375:31:20" + } + ] + }, + "id": 3694, + "nodeType": "IfStatement", + "src": "6040:377:20", + "trueBody": { + "id": 3682, + "nodeType": "Block", + "src": "6053:302:20", + "statements": [ + { + "assignments": [ + 3634 + ], + "declarations": [ + { + "constant": false, + "id": 3634, + "mutability": "mutable", + "name": "label", + "nameLocation": "6075:5:20", + "nodeType": "VariableDeclaration", + "scope": 3682, + "src": "6067:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3633, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6067:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3642, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3637, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "6095:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6104:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6095:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3640, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6107:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3635, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "6083:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6088:6:20", + "memberName": "keccak", + "nodeType": "MemberAccess", + "referencedDeclaration": 1111, + "src": "6083:11:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 3641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6083:28:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6067:44:20" + }, + { + "expression": { + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 3643, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6126:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3644, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3614, + "src": "6132:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3645, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6125:14:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3647, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "6153:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3648, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "6159:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3649, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6168:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6159:12:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6174:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6159:16:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3646, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "6142:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6142:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "src": "6125:51:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3655, + "nodeType": "ExpressionStatement", + "src": "6125:51:20" + }, + { + "expression": { + "id": 3664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3656, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6190:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 3660, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6224:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3661, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3634, + "src": "6230:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3658, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6207:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6211:12:20", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6207:16:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6207:29:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3657, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6197:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6197:40:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6190:47:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3665, + "nodeType": "ExpressionStatement", + "src": "6190:47:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3666, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "6255:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3668, + "indexExpression": { + "id": 3667, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6263:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6255:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6280:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6272:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6272:7:20", + "typeDescriptions": {} + } + }, + "id": 3672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6272:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6255:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3681, + "nodeType": "IfStatement", + "src": "6251:94:20", + "trueBody": { + "id": 3680, + "nodeType": "Block", + "src": "6284:61:20", + "statements": [ + { + "expression": { + "components": [ + { + "id": 3674, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6310:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 3675, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "6316:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3677, + "indexExpression": { + "id": 3676, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6324:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6316:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3678, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6309:21:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3679, + "nodeType": "Return", + "src": "6302:28:20" + } + ] + } + } + ] + } + }, + { + "expression": { + "components": [ + { + "id": 3695, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6434:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3696, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3614, + "src": "6440:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3697, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6433:14:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3698, + "nodeType": "Return", + "src": "6426:21:20" + } + ] + }, + "id": 3700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getTarget", + "nameLocation": "5837:10:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3607, + "mutability": "mutable", + "name": "name", + "nameLocation": "5870:4:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5857:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3606, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5857:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "mutability": "mutable", + "name": "offset", + "nameLocation": "5892:6:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5884:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5884:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5847:57:20" + }, + "returnParameters": { + "id": 3615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3612, + "mutability": "mutable", + "name": "node", + "nameLocation": "5935:4:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5927:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3611, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5927:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3614, + "mutability": "mutable", + "name": "target", + "nameLocation": "5949:6:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5941:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5941:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5926:30:20" + }, + "scope": 3993, + "src": "5828:626:20", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "baseFunctions": [ + 1080 + ], + "body": { + "id": 3808, + "nodeType": "Block", + "src": "6876:982:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3711, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "6894:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 3712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6899:6:20", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6894:11:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "34", + "id": 3713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6909:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "6894:16:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "706172616d206461746120746f6f2073686f7274", + "id": 3715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6912:22:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "typeString": "literal_string \"param data too short\"" + }, + "value": "param data too short" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "typeString": "literal_string \"param data too short\"" + } + ], + "id": 3710, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6886:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6886:49:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3717, + "nodeType": "ExpressionStatement", + "src": "6886:49:20" + }, + { + "assignments": [ + 3719 + ], + "declarations": [ + { + "constant": false, + "id": 3719, + "mutability": "mutable", + "name": "node", + "nameLocation": "6954:4:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "6946:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6946:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3729, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3722, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "6972:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "6972:8:20", + "startExpression": { + "hexValue": "34", + "id": 3723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6977:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + { + "components": [ + { + "id": 3726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6983:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3725, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6983:7:20", + "typeDescriptions": {} + } + } + ], + "id": 3727, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6982:9:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 3720, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6961:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6965:6:20", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "6961:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6961:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6946:46:20" + }, + { + "assignments": [ + 3731 + ], + "declarations": [ + { + "constant": false, + "id": 3731, + "mutability": "mutable", + "name": "isBaseDomain", + "nameLocation": "7007:12:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7002:17:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3730, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7002:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 3740, + "initialValue": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3732, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "7022:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3734, + "indexExpression": { + "id": 3733, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3719, + "src": "7030:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7022:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7047:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7039:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7039:7:20", + "typeDescriptions": {} + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7039:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7022:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7002:47:20" + }, + { + "condition": { + "id": 3741, + "name": "isBaseDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3731, + "src": "7139:12:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3754, + "nodeType": "IfStatement", + "src": "7135:146:20", + "trueBody": { + "id": 3753, + "nodeType": "Block", + "src": "7153:128:20", + "statements": [ + { + "assignments": [ + 3743 + ], + "declarations": [ + { + "constant": false, + "id": 3743, + "mutability": "mutable", + "name": "baseNodeResolver", + "nameLocation": "7175:16:20", + "nodeType": "VariableDeclaration", + "scope": 3753, + "src": "7167:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7167:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3747, + "initialValue": { + "baseExpression": { + "id": 3744, + "name": "baseNodeResolvers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3333, + "src": "7194:17:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3746, + "indexExpression": { + "id": 3745, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3719, + "src": "7212:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7194:23:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7167:50:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3749, + "name": "baseNodeResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "7247:16:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3750, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "7265:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3748, + "name": "_resolve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3887, + "src": "7238:8:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) view returns (bytes memory)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7238:32:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3709, + "id": 3752, + "nodeType": "Return", + "src": "7231:39:20" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3758, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7363:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 3756, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "7340:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7351:11:20", + "memberName": "countLabels", + "nodeType": "MemberAccess", + "referencedDeclaration": 3271, + "src": "7340:22:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 3759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7340:28:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "33", + "id": 3760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7372:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "7340:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6f206d616e7920737562646f6d61696e206c6576656c73", + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7375:27:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "typeString": "literal_string \"Too many subdomain levels\"" + }, + "value": "Too many subdomain levels" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "typeString": "literal_string \"Too many subdomain levels\"" + } + ], + "id": 3755, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7332:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7332:71:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3764, + "nodeType": "ExpressionStatement", + "src": "7332:71:20" + }, + { + "assignments": [ + null, + 3766 + ], + "declarations": [ + null, + { + "constant": false, + "id": 3766, + "mutability": "mutable", + "name": "target", + "nameLocation": "7425:6:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7417:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7417:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3771, + "initialValue": { + "arguments": [ + { + "id": 3768, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7446:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7452:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3767, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "7435:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7435:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7414:40:20" + }, + { + "assignments": [ + 3773 + ], + "declarations": [ + { + "constant": false, + "id": 3773, + "mutability": "mutable", + "name": "selector", + "nameLocation": "7472:8:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7465:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3772, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7465:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 3778, + "initialValue": { + "arguments": [ + { + "id": 3776, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "7490:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7483:6:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 3774, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7483:6:20", + "typeDescriptions": {} + } + }, + "id": 3777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7483:12:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7465:30:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3779, + "name": "selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3773, + "src": "7510:8:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "id": 3780, + "name": "IAddrResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "7522:13:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAddrResolver_$1048_$", + "typeString": "type(contract IAddrResolver)" + } + }, + "id": 3781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7536:4:20", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 1047, + "src": "7522:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_view$_t_bytes32_$returns$_t_address_payable_$", + "typeString": "function IAddrResolver.addr(bytes32) view returns (address payable)" + } + }, + "id": 3782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7541:8:20", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "7522:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7510:39:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3803, + "nodeType": "IfStatement", + "src": "7506:258:20", + "trueBody": { + "id": 3802, + "nodeType": "Block", + "src": "7551:213:20", + "statements": [ + { + "assignments": [ + 3785 + ], + "declarations": [ + { + "constant": false, + "id": 3785, + "mutability": "mutable", + "name": "nftId", + "nameLocation": "7628:5:20", + "nodeType": "VariableDeclaration", + "scope": 3802, + "src": "7620:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7620:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3789, + "initialValue": { + "arguments": [ + { + "id": 3787, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7649:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3786, + "name": "extractNFTId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3838, + "src": "7636:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes calldata) pure returns (uint256)" + } + }, + "id": 3788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7636:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7620:34:20" + }, + { + "assignments": [ + 3791 + ], + "declarations": [ + { + "constant": false, + "id": 3791, + "mutability": "mutable", + "name": "slot", + "nameLocation": "7676:4:20", + "nodeType": "VariableDeclaration", + "scope": 3802, + "src": "7668:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7668:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3795, + "initialValue": { + "baseExpression": { + "id": 3792, + "name": "targetAddrSlots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3337, + "src": "7683:15:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3794, + "indexExpression": { + "id": 3793, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "src": "7699:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7683:23:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7668:38:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3797, + "name": "nftId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "7733:5:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3798, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "7740:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3799, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "src": "7746:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3796, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3918, + "src": "7727:5:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256,uint256,address) view returns (bytes memory)" + } + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7727:26:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3709, + "id": 3801, + "nodeType": "Return", + "src": "7720:33:20" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "hexValue": "696e76616c69642073656c6563746f72", + "id": 3805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7832:18:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "typeString": "literal_string \"invalid selector\"" + }, + "value": "invalid selector" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "typeString": "literal_string \"invalid selector\"" + } + ], + "id": 3804, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "7825:6:20", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 3806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7825:26:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3807, + "nodeType": "ExpressionStatement", + "src": "7825:26:20" + } + ] + }, + "documentation": { + "id": 3701, + "nodeType": "StructuredDocumentation", + "src": "6460:286:20", + "text": " @dev Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\n @param name DNS encoded ENS name to query.\n @param data The actual calldata.\n @return result Result of the call." + }, + "functionSelector": "9061b923", + "id": 3809, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolve", + "nameLocation": "6760:7:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3703, + "mutability": "mutable", + "name": "name", + "nameLocation": "6792:4:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6777:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3702, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6777:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3705, + "mutability": "mutable", + "name": "data", + "nameLocation": "6821:4:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6806:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3704, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6806:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6767:64:20" + }, + "returnParameters": { + "id": 3709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3708, + "mutability": "mutable", + "name": "result", + "nameLocation": "6868:6:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6855:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3707, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6855:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6854:21:20" + }, + "scope": 3993, + "src": "6751:1107:20", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3837, + "nodeType": "Block", + "src": "8073:256:20", + "statements": [ + { + "assignments": [ + 3818 + ], + "declarations": [ + { + "constant": false, + "id": 3818, + "mutability": "mutable", + "name": "firstLabel", + "nameLocation": "8096:10:20", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "8083:23:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3817, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8083:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3823, + "initialValue": { + "arguments": [ + { + "id": 3821, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3812, + "src": "8138:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 3819, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8109:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8120:17:20", + "memberName": "extractFirstLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 3106, + "src": "8109:28:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (bytes memory)" + } + }, + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8109:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8083:60:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3827, + "name": "firstLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "8225:10:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3825, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8205:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8216:8:20", + "memberName": "isNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 3219, + "src": "8205:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) pure returns (bool)" + } + }, + "id": 3828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8205:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c6162656c206973206e6f742061206e756d626572", + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8238:23:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "typeString": "literal_string \"Label is not a number\"" + }, + "value": "Label is not a number" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "typeString": "literal_string \"Label is not a number\"" + } + ], + "id": 3824, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8197:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8197:65:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3831, + "nodeType": "ExpressionStatement", + "src": "8197:65:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3834, + "name": "firstLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "8311:10:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3832, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8279:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8290:20:20", + "memberName": "extractNumericSuffix", + "nodeType": "MemberAccess", + "referencedDeclaration": 3180, + "src": "8279:31:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8279:43:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3816, + "id": 3836, + "nodeType": "Return", + "src": "8272:50:20" + } + ] + }, + "documentation": { + "id": 3810, + "nodeType": "StructuredDocumentation", + "src": "7864:131:20", + "text": " Get the NFT Id from the ENS name's label.\n @param name DNS encoded ENS name.\n @return id The NFT id." + }, + "functionSelector": "1a33ddae", + "id": 3838, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractNFTId", + "nameLocation": "8009:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3812, + "mutability": "mutable", + "name": "name", + "nameLocation": "8037:4:20", + "nodeType": "VariableDeclaration", + "scope": 3838, + "src": "8022:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3811, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8022:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8021:21:20" + }, + "returnParameters": { + "id": 3816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3815, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3838, + "src": "8064:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8064:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8063:9:20" + }, + "scope": 3993, + "src": "8000:329:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 3034 + ], + "body": { + "id": 3859, + "nodeType": "Block", + "src": "8663:89:20", + "statements": [ + { + "assignments": [ + null, + 3849 + ], + "declarations": [ + null, + { + "constant": false, + "id": 3849, + "mutability": "mutable", + "name": "target", + "nameLocation": "8684:6:20", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "8676:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8676:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3854, + "initialValue": { + "arguments": [ + { + "id": 3851, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3841, + "src": "8705:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "hexValue": "30", + "id": 3852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8711:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3850, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "8694:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8694:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8673:40:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3856, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3849, + "src": "8738:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3855, + "name": "_writeDeferral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3992, + "src": "8723:14:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", + "typeString": "function (address) view" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8723:22:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3858, + "nodeType": "ExpressionStatement", + "src": "8723:22:20" + } + ] + }, + "documentation": { + "id": 3839, + "nodeType": "StructuredDocumentation", + "src": "8335:204:20", + "text": " @dev Resolve and throws an EIP 3559 compliant error.\n @param name DNS encoded ENS name to query.\n @param _addr The actual calldata.\n @return result Result of the call." + }, + "functionSelector": "f00eebf4", + "id": 3860, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nameLocation": "8553:7:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3841, + "mutability": "mutable", + "name": "name", + "nameLocation": "8585:4:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8570:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3840, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8570:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3843, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "8607:5:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8599:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8599:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8560:58:20" + }, + "returnParameters": { + "id": 3847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3846, + "mutability": "mutable", + "name": "result", + "nameLocation": "8655:6:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8642:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3845, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8642:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8641:21:20" + }, + "scope": 3993, + "src": "8544:208:20", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3886, + "nodeType": "Block", + "src": "9502:318:20", + "statements": [ + { + "assignments": [ + 3871, + 3873 + ], + "declarations": [ + { + "constant": false, + "id": 3871, + "mutability": "mutable", + "name": "success", + "nameLocation": "9518:7:20", + "nodeType": "VariableDeclaration", + "scope": 3886, + "src": "9513:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3870, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9513:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3873, + "mutability": "mutable", + "name": "result", + "nameLocation": "9540:6:20", + "nodeType": "VariableDeclaration", + "scope": 3886, + "src": "9527:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3872, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9527:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3878, + "initialValue": { + "arguments": [ + { + "id": 3876, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "9578:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3874, + "name": "baseNodeResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "9550:16:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9567:10:20", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "9550:27:20", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9550:33:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9512:71:20" + }, + { + "condition": { + "id": 3879, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3871, + "src": "9597:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3884, + "nodeType": "Block", + "src": "9650:164:20", + "statements": [ + { + "AST": { + "nativeSrc": "9732:72:20", + "nodeType": "YulBlock", + "src": "9732:72:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nativeSrc": "9761:6:20", + "nodeType": "YulIdentifier", + "src": "9761:6:20" + }, + { + "kind": "number", + "nativeSrc": "9769:4:20", + "nodeType": "YulLiteral", + "src": "9769:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9757:3:20", + "nodeType": "YulIdentifier", + "src": "9757:3:20" + }, + "nativeSrc": "9757:17:20", + "nodeType": "YulFunctionCall", + "src": "9757:17:20" + }, + { + "arguments": [ + { + "name": "result", + "nativeSrc": "9782:6:20", + "nodeType": "YulIdentifier", + "src": "9782:6:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9776:5:20", + "nodeType": "YulIdentifier", + "src": "9776:5:20" + }, + "nativeSrc": "9776:13:20", + "nodeType": "YulFunctionCall", + "src": "9776:13:20" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9750:6:20", + "nodeType": "YulIdentifier", + "src": "9750:6:20" + }, + "nativeSrc": "9750:40:20", + "nodeType": "YulFunctionCall", + "src": "9750:40:20" + }, + "nativeSrc": "9750:40:20", + "nodeType": "YulExpressionStatement", + "src": "9750:40:20" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3873, + "isOffset": false, + "isSlot": false, + "src": "9761:6:20", + "valueSize": 1 + }, + { + "declaration": 3873, + "isOffset": false, + "isSlot": false, + "src": "9782:6:20", + "valueSize": 1 + } + ], + "id": 3883, + "nodeType": "InlineAssembly", + "src": "9723:81:20" + } + ] + }, + "id": 3885, + "nodeType": "IfStatement", + "src": "9593:221:20", + "trueBody": { + "id": 3882, + "nodeType": "Block", + "src": "9606:38:20", + "statements": [ + { + "expression": { + "id": 3880, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "9627:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3869, + "id": 3881, + "nodeType": "Return", + "src": "9620:13:20" + } + ] + } + } + ] + }, + "documentation": { + "id": 3861, + "nodeType": "StructuredDocumentation", + "src": "8758:617:20", + "text": " @dev The `PublicResolver` does not implement the `resolve(bytes,bytes)` method.\n This method completes the resolution request by staticcalling `PublicResolver` with the resolve request.\n Implementation matches the ENS `ExtendedResolver:resolve(bytes,bytes)` method with the exception that it `staticcall`s the\n the `rootResolver` instead of `address(this)`.\n @param data The ABI encoded data for the underlying resolution function (Eg, addr(bytes32), text(bytes32,string), etc).\n @return The return data, ABI encoded identically to the underlying function." + }, + "id": 3887, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_resolve", + "nameLocation": "9389:8:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3863, + "mutability": "mutable", + "name": "baseNodeResolver", + "nameLocation": "9415:16:20", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9407:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9407:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3865, + "mutability": "mutable", + "name": "data", + "nameLocation": "9454:4:20", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9441:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9441:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9397:67:20" + }, + "returnParameters": { + "id": 3869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3868, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9488:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3867, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9488:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9487:14:20" + }, + "scope": 3993, + "src": "9380:440:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3917, + "nodeType": "Block", + "src": "9954:202:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 3911, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "10100:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NFTResolver_$3993", + "typeString": "contract NFTResolver" + } + }, + "id": 3912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10105:12:20", + "memberName": "addrCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3946, + "src": "10100:17:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory[] memory,bytes memory) pure external returns (bytes memory)" + } + }, + "id": 3913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10118:8:20", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "10100:26:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "hexValue": "", + "id": 3914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10128:2:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "arguments": [ + { + "id": 3908, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3889, + "src": "10072:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3905, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3891, + "src": "10045:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3901, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3317, + "src": "10004:8:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "id": 3902, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3893, + "src": "10014:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3898, + "name": "EVMFetcher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "9964:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EVMFetcher_$771_$", + "typeString": "type(library EVMFetcher)" + } + }, + "id": 3900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9988:15:20", + "memberName": "newFetchRequest", + "nodeType": "MemberAccess", + "referencedDeclaration": 249, + "src": "9964:39:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_contract$_IEVMVerifier_$798_$_t_address_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (contract IEVMVerifier,address) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:57:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10035:9:20", + "memberName": "getStatic", + "nodeType": "MemberAccess", + "referencedDeclaration": 326, + "src": "9964:80:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint256_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint256) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:86:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10064:7:20", + "memberName": "element", + "nodeType": "MemberAccess", + "referencedDeclaration": 438, + "src": "9964:107:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint256_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint256) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:116:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10094:5:20", + "memberName": "fetch", + "nodeType": "MemberAccess", + "referencedDeclaration": 692, + "src": "9964:135:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$returns$__$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes4,bytes memory) view" + } + }, + "id": 3915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:167:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3916, + "nodeType": "ExpressionStatement", + "src": "9964:167:20" + } + ] + }, + "id": 3918, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addr", + "nameLocation": "9835:5:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3889, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "9858:7:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9850:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9850:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3891, + "mutability": "mutable", + "name": "slot", + "nameLocation": "9883:4:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9875:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9875:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3893, + "mutability": "mutable", + "name": "target", + "nameLocation": "9905:6:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9897:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9897:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9840:77:20" + }, + "returnParameters": { + "id": 3897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3896, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9940:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3895, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9940:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9939:14:20" + }, + "scope": 3993, + "src": "9826:330:20", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 3945, + "nodeType": "Block", + "src": "10280:97:20", + "statements": [ + { + "assignments": [ + 3929 + ], + "declarations": [ + { + "constant": false, + "id": 3929, + "mutability": "mutable", + "name": "addr", + "nameLocation": "10298:4:20", + "nodeType": "VariableDeclaration", + "scope": 3945, + "src": "10290:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3928, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10290:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3939, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3932, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3921, + "src": "10316:6:20", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 3934, + "indexExpression": { + "hexValue": "30", + "id": 3933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10323:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10316:9:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10328:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10328:7:20", + "typeDescriptions": {} + } + } + ], + "id": 3937, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10327:9:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 3930, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10305:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10309:6:20", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "10305:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10305:32:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10290:47:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3942, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3929, + "src": "10365:4:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3940, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10354:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10358:6:20", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "10354:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10354:16:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3927, + "id": 3944, + "nodeType": "Return", + "src": "10347:23:20" + } + ] + }, + "functionSelector": "f470901a", + "id": 3946, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrCallback", + "nameLocation": "10171:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3921, + "mutability": "mutable", + "name": "values", + "nameLocation": "10208:6:20", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10193:21:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 3919, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10193:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 3920, + "nodeType": "ArrayTypeName", + "src": "10193:7:20", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3923, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10224:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3922, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10224:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10183:59:20" + }, + "returnParameters": { + "id": 3927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3926, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10266:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3925, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10266:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10265:14:20" + }, + "scope": 3993, + "src": "10162:215:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3010 + ], + "body": { + "id": 3980, + "nodeType": "Block", + "src": "10480:262:20", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3954, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10509:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3956, + "name": "IExtendedResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "10529:17:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IExtendedResolver_$1081_$", + "typeString": "type(contract IExtendedResolver)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IExtendedResolver_$1081_$", + "typeString": "type(contract IExtendedResolver)" + } + ], + "id": 3955, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10524:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10524:23:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IExtendedResolver_$1081", + "typeString": "type(contract IExtendedResolver)" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10548:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10524:35:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10509:50:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3960, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10575:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3962, + "name": "ITargetResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3047, + "src": "10595:15:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ITargetResolver_$3047_$", + "typeString": "type(contract ITargetResolver)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_ITargetResolver_$3047_$", + "typeString": "type(contract ITargetResolver)" + } + ], + "id": 3961, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10590:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10590:21:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_ITargetResolver_$3047", + "typeString": "type(contract ITargetResolver)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10612:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10590:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10575:48:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:114:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3967, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10639:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3969, + "name": "IAddrSetter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "10659:11:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAddrSetter_$3035_$", + "typeString": "type(contract IAddrSetter)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IAddrSetter_$3035_$", + "typeString": "type(contract IAddrSetter)" + } + ], + "id": 3968, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10654:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10654:17:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IAddrSetter_$3035", + "typeString": "type(contract IAddrSetter)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10672:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10654:29:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10639:44:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:174:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 3976, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10723:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3974, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "10699:5:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFTResolver_$3993_$", + "typeString": "type(contract super NFTResolver)" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10705:17:20", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 3010, + "src": "10699:23:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10699:36:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:226:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3953, + "id": 3979, + "nodeType": "Return", + "src": "10490:245:20" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 3981, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "10392:17:20", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3950, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "10456:8:20" + }, + "parameters": { + "id": 3949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3948, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "10426:11:20", + "nodeType": "VariableDeclaration", + "scope": 3981, + "src": "10419:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3947, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10419:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "10409:34:20" + }, + "returnParameters": { + "id": 3953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3952, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3981, + "src": "10474:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10474:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10473:6:20" + }, + "scope": 3993, + "src": "10383:359:20", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3991, + "nodeType": "Block", + "src": "10802:61:20", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 3987, + "name": "l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "10838:9:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3988, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3983, + "src": "10849:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3986, + "name": "StorageHandledByL2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3403, + "src": "10819:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address) pure" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10819:37:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3990, + "nodeType": "RevertStatement", + "src": "10812:44:20" + } + ] + }, + "id": 3992, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_writeDeferral", + "nameLocation": "10757:14:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3983, + "mutability": "mutable", + "name": "target", + "nameLocation": "10780:6:20", + "nodeType": "VariableDeclaration", + "scope": 3992, + "src": "10772:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10772:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10771:16:20" + }, + "returnParameters": { + "id": 3985, + "nodeType": "ParameterList", + "parameters": [], + "src": "10802:0:20" + }, + "scope": 3993, + "src": "10748:115:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3994, + "src": "1084:9781:20", + "usedErrors": [ + 15, + 170, + 172, + 191, + 3403 + ], + "usedEvents": [ + 3346, + 3352, + 3358 + ] + } + ], + "src": "39:10827:20" + }, + "id": 20 + } + }, + "contracts": { + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "EVMFetchTarget": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + } + ], + "name": "ResponseLengthMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "getAcceptedL2BlockRangeLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "response", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extradata", + "type": "bytes" + } + ], + "name": "getStorageSlotsCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getAcceptedL2BlockRangeLength()": "6d74e86e", + "getStorageSlotsCallback(bytes,bytes)": "5bdaa916" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"ResponseLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"getAcceptedL2BlockRangeLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extradata\",\"type\":\"bytes\"}],\"name\":\"getStorageSlotsCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must inherit from this contract in order to handle callbacks correctly.\",\"kind\":\"dev\",\"methods\":{\"getAcceptedL2BlockRangeLength()\":{\"details\":\"The child contract has to return an accepted L2 block range used by the verifier to verify that the block number verified is in the accepted block range.\"},\"getStorageSlotsCallback(bytes,bytes)\":{\"details\":\"Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":\"EVMFetchTarget\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "EVMFetcher": { + "abi": [ + { + "inputs": [], + "name": "CommandTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "InvalidReference", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "TooManyCommands", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122071244fd5c5d2fe392c774bee9e111d3a3ae7d1ae936780a0f137f2f43612dc0364736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x244FD5C5D2FE392C774BEE9E111D3A3AE7D1 0xAE SWAP4 PUSH8 0x80A0F137F2F43612 0xDC SUB PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "739:9478:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122071244fd5c5d2fe392c774bee9e111d3a3ae7d1ae936780a0f137f2f43612dc0364736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x244FD5C5D2FE392C774BEE9E111D3A3AE7D1 0xAE SWAP4 PUSH8 0x80A0F137F2F43612 0xDC SUB PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "739:9478:1:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CommandTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"InvalidReference\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunction\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"OffchainLookup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyCommands\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"A library to facilitate requesting storage data proofs from contracts, possibly on a different chain. See l1-verifier/test/TestL1.sol for example usage.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":\"EVMFetcher\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + }, + "IEVMGateway": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "commands", + "type": "bytes32[]" + }, + { + "internalType": "bytes[]", + "name": "constants", + "type": "bytes[]" + } + ], + "name": "getStorageSlots", + "outputs": [ + { + "internalType": "bytes", + "name": "witness", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getStorageSlots(address,bytes32[],bytes[])": "ea9cd3bf" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"commands\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"constants\",\"type\":\"bytes[]\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"witness\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":\"IEVMGateway\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "IEVMVerifier": { + "abi": [ + { + "inputs": [], + "name": "gatewayURLs", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "commands", + "type": "bytes32[]" + }, + { + "internalType": "bytes[]", + "name": "constants", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "acceptedL2BlockRangeLength", + "type": "uint256" + } + ], + "name": "getStorageValues", + "outputs": [ + { + "internalType": "bytes[]", + "name": "values", + "type": "bytes[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "gatewayURLs()": "b50f2fbc", + "getStorageValues(address,bytes32[],bytes[],bytes,uint256)": "c51ca02a" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"gatewayURLs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"commands\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"constants\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"acceptedL2BlockRangeLength\",\"type\":\"uint256\"}],\"name\":\"getStorageValues\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":\"IEVMVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "IBaseRegistrar": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRenewed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "addController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "available", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "nameExpires", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "reclaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "removeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addController(address)": "a7fc7a07", + "approve(address,uint256)": "095ea7b3", + "available(uint256)": "96e494e8", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "nameExpires(uint256)": "d6e4fa86", + "ownerOf(uint256)": "6352211e", + "reclaim(uint256,address)": "28ed4f6c", + "register(uint256,address,uint256)": "fca247ac", + "removeController(address)": "f6a74ed7", + "renew(uint256,uint256)": "c475abff", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setResolver(address)": "4e543b26", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRenewed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"available\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"nameExpires\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"reclaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"reclaim(uint256,address)\":{\"details\":\"Reclaim ownership of a name in ENS, if you own it in the registrar.\"},\"register(uint256,address,uint256)\":{\"details\":\"Register a name.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":\"IBaseRegistrar\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "ENS": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NewOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "NewResolver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "NewTTL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "recordExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "resolver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "ttl", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "isApprovedForAll(address,address)": "e985e9c5", + "owner(bytes32)": "02571be3", + "recordExists(bytes32)": "f79fe538", + "resolver(bytes32)": "0178b8bf", + "setApprovalForAll(address,bool)": "a22cb465", + "setOwner(bytes32,address)": "5b0fc9c3", + "setRecord(bytes32,address,address,uint64)": "cf408823", + "setResolver(bytes32,address)": "1896f70a", + "setSubnodeOwner(bytes32,bytes32,address)": "06ab5923", + "setSubnodeRecord(bytes32,bytes32,address,address,uint64)": "5ef2c7f0", + "setTTL(bytes32,uint64)": "14ab9038", + "ttl(bytes32)": "16a25cbd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":\"ENS\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "IAddrResolver": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "a", + "type": "address" + } + ], + "name": "AddrChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addr(bytes32)": "3b3b57de" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddrChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addr(bytes32)\":{\"params\":{\"node\":\"The ENS node to query.\"},\"returns\":{\"_0\":\"The associated address.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addr(bytes32)\":{\"notice\":\"Returns the address associated with an ENS node.\"}},\"notice\":\"Interface for the legacy (ETH-only) addr function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":\"IAddrResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":{\"keccak256\":\"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963\",\"dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "IAddressResolver": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "coinType", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "newAddress", + "type": "bytes" + } + ], + "name": "AddressChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "coinType", + "type": "uint256" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addr(bytes32,uint256)": "f1cb7e06" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinType\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"newAddress\",\"type\":\"bytes\"}],\"name\":\"AddressChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"coinType\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the new (multicoin) addr function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":\"IAddressResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":{\"keccak256\":\"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82\",\"dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "IExtendedResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "resolve", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "resolve(bytes,bytes)": "9061b923" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":\"IExtendedResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":{\"keccak256\":\"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760\",\"dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "BytesUtils": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "OffsetOutOfBoundsError", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204acb2974e647688365e59eb823df60697e87194afe21a5cbe38e555e054ae4c564736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE 0xCB 0x29 PUSH21 0xE647688365E59EB823DF60697E87194AFE21A5CBE3 DUP15 SSTORE MCOPY SDIV BLOBBASEFEE 0xE4 0xC5 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "56:14399:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204acb2974e647688365e59eb823df60697e87194afe21a5cbe38e555e054ae4c564736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE 0xCB 0x29 PUSH21 0xE647688365E59EB823DF60697E87194AFE21A5CBE3 DUP15 SSTORE MCOPY SDIV BLOBBASEFEE 0xE4 0xC5 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "56:14399:8:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"OffsetOutOfBoundsError\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":\"BytesUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":{\"keccak256\":\"0xc566a3569af880a096a9bfb2fbb77060ef7aecde1a205dc26446a58877412060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad627557ee4573cfd13238041acb2bda2d277dc78836e7611d184616df7f2a47\",\"dweb:/ipfs/QmSbCRpJaEqa5XiHwzQvawcyXVLVkFghY1KZob3XNGRveR\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "IMetadataService": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "uri(uint256)": "0e89341c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":\"IMetadataService\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "INameWrapper": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "ExpiryExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + } + ], + "name": "FusesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NameUnwrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "NameWrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fuseMask", + "type": "uint32" + } + ], + "name": "allFusesBurned", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "canModifyName", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "labelhash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "extendExpiry", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "getData", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "isWrapped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "isWrapped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "metadataService", + "outputs": [ + { + "internalType": "contract IMetadataService", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "names", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + } + ], + "name": "registerAndWrapETH2LD", + "outputs": [ + { + "internalType": "uint256", + "name": "registrarExpiry", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "contract IBaseRegistrar", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "labelHash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentNode", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "labelhash", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setChildFuses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + } + ], + "name": "setFuses", + "outputs": [ + { + "internalType": "uint32", + "name": "newFuses", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IMetadataService", + "name": "_metadataService", + "type": "address" + } + ], + "name": "setMetadataService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract INameWrapperUpgrade", + "name": "_upgradeAddress", + "type": "address" + } + ], + "name": "setUpgradeContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "unwrap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "newRegistrant", + "type": "address" + }, + { + "internalType": "address", + "name": "newController", + "type": "address" + } + ], + "name": "unwrapETH2LD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "upgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "upgradeContract", + "outputs": [ + { + "internalType": "contract INameWrapperUpgrade", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "wrap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "wrapETH2LD", + "outputs": [ + { + "internalType": "uint64", + "name": "expires", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allFusesBurned(bytes32,uint32)": "adf4960a", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "canModifyName(bytes32,address)": "41415eab", + "ens()": "3f15457f", + "extendExpiry(bytes32,bytes32,uint64)": "6e5d6ad2", + "getApproved(uint256)": "081812fc", + "getData(uint256)": "0178fe3f", + "isApprovedForAll(address,address)": "e985e9c5", + "isWrapped(bytes32)": "fd0cd0d9", + "isWrapped(bytes32,bytes32)": "d9a50c12", + "metadataService()": "53095467", + "name()": "06fdde03", + "names(bytes32)": "20c38e2b", + "ownerOf(uint256)": "6352211e", + "registerAndWrapETH2LD(string,address,uint256,address,uint16)": "a4014982", + "registrar()": "2b20e397", + "renew(uint256,uint256)": "c475abff", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "setChildFuses(bytes32,bytes32,uint32,uint64)": "33c69ea9", + "setFuses(bytes32,uint16)": "402906fc", + "setMetadataService(address)": "1534e177", + "setRecord(bytes32,address,address,uint64)": "cf408823", + "setResolver(bytes32,address)": "1896f70a", + "setSubnodeOwner(bytes32,string,address,uint32,uint64)": "c658e086", + "setSubnodeRecord(bytes32,string,address,address,uint64,uint32,uint64)": "24c1af44", + "setTTL(bytes32,uint64)": "14ab9038", + "setUpgradeContract(address)": "b6bcad26", + "supportsInterface(bytes4)": "01ffc9a7", + "unwrap(bytes32,bytes32,address)": "d8c9921a", + "unwrapETH2LD(bytes32,address,address)": "8b4dfa75", + "upgrade(bytes,bytes)": "c93ab3fd", + "upgradeContract()": "1f4e1504", + "uri(uint256)": "0e89341c", + "wrap(bytes,address,address)": "eb8ae530", + "wrapETH2LD(string,address,uint16,address)": "8cf8b41e" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"ExpiryExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"}],\"name\":\"FusesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NameUnwrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"NameWrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"fuseMask\",\"type\":\"uint32\"}],\"name\":\"allFusesBurned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"canModifyName\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"labelhash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"extendExpiry\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getData\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWrapped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWrapped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadataService\",\"outputs\":[{\"internalType\":\"contract IMetadataService\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"names\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"}],\"name\":\"registerAndWrapETH2LD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"registrarExpiry\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"contract IBaseRegistrar\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"labelHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"parentNode\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"labelhash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setChildFuses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"}],\"name\":\"setFuses\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"newFuses\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IMetadataService\",\"name\":\"_metadataService\",\"type\":\"address\"}],\"name\":\"setMetadataService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INameWrapperUpgrade\",\"name\":\"_upgradeAddress\",\"type\":\"address\"}],\"name\":\"setUpgradeContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newRegistrant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"unwrapETH2LD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"upgradeContract\",\"outputs\":[{\"internalType\":\"contract INameWrapperUpgrade\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"wrapETH2LD\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"expires\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":\"INameWrapper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":{\"keccak256\":\"0x70310eb67146d7290731c31841399640ac3b6a949eadc6598bc150123d185c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85d9e2d6b235900131129386047fae5fb77438806b681ac566119868be5a502\",\"dweb:/ipfs/Qmd9ys5jeRx77TDVeRqWUme7a5LUDT4k7wQ91wVSayDpTR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "INameWrapperUpgrade": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + }, + { + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "wrapFromUpgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "wrapFromUpgrade(bytes,address,uint32,uint64,address,bytes)": "9198c276" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"wrapFromUpgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":\"INameWrapperUpgrade\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "IERC1155": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[EIP]. _Available since v3.1._\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "IERC721": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Address.sol": { + "Address": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:14:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "contracts/IAddrSetter.sol": { + "IAddrSetter": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "setAddr(bytes,address)": "f00eebf4" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/IAddrSetter.sol\":\"IAddrSetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/IAddrSetter.sol\":{\"keccak256\":\"0xf7493c0fc452bd785cdf3d563f45eefb64c1498711dbe024126d247be56fe808\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a92c0ddfee4e552979e5215448d6a5a6d3f90e7706aaab203d44466d1d05263\",\"dweb:/ipfs/QmNiSn57hsD7fmPTZsPqzY7D8BuQGuPyujjHsHewjNgrhm\"]}},\"version\":1}" + } + }, + "contracts/ITargetResolver.sol": { + "ITargetResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "getTarget", + "outputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getTarget(bytes)": "15f64386" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"getTarget\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ITargetResolver.sol\":\"ITargetResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ITargetResolver.sol\":{\"keccak256\":\"0xbe5a66f254ce775902d6d20db27a50bfe28b70747cc33f28188beff59185b71a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c6d753a198934d7d911818c553532f8a5f97f96c86c60c5b709da345ab8de9\",\"dweb:/ipfs/QmYegW3aiohrSn34H5yHmxpUxm72iJXa4auCcX1mJNVkz3\"]}},\"version\":1}" + } + }, + "contracts/LabelUtils.sol": { + "LabelUtils": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "input", + "type": "bytes" + } + ], + "name": "countLabels", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "extractFirstLabel", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "label", + "type": "bytes" + } + ], + "name": "extractNumericSuffix", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "input", + "type": "bytes" + } + ], + "name": "isNumber", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "610930610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033", + "opcodes": "PUSH2 0x930 PUSH2 0x52 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x45 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DEA91D EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x4062ACE3 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0x94BC2DB6 EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0xE5C4CF73 EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x11B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x1BE JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP PUSH1 0x30 DUP2 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x16C JUMPI POP PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x30 DUP2 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x78A JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA DUP6 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP4 POP PUSH1 0x1 SWAP3 POP PUSH2 0x1B0 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x1AF JUMPI POP PUSH2 0x1BE JUMP JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x126 JUMP JUMPDEST POP DUP1 PUSH2 0x1FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x231 JUMPI PUSH2 0x230 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP2 SUB PUSH2 0x252 JUMPI POP PUSH2 0x280 JUMP JUMPDEST DUP3 DUP1 PUSH2 0x25D SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x1 DUP2 PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP3 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x213 JUMP JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP DUP2 DUP1 PUSH2 0x2BD SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DF JUMPI PUSH2 0x2DE PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x311 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x39A JUMPI DUP6 DUP2 DUP6 PUSH2 0x32F SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x340 JUMPI PUSH2 0x33F PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x35E JUMPI PUSH2 0x35D PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x466 JUMPI PUSH1 0x30 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3CF JUMPI PUSH2 0x3CE PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND LT DUP1 PUSH2 0x44A JUMPI POP PUSH1 0x39 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND GT JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x46C JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3AE JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP2 SWAP1 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 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 0x4D8 DUP3 PUSH2 0x48F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4F7 JUMPI PUSH2 0x4F6 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50A PUSH2 0x471 JUMP JUMPDEST SWAP1 POP PUSH2 0x516 DUP3 DUP3 PUSH2 0x4CF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x536 JUMPI PUSH2 0x535 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F DUP3 PUSH2 0x48F 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 0x56E PUSH2 0x569 DUP5 PUSH2 0x51B JUMP JUMPDEST PUSH2 0x500 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x58A JUMPI PUSH2 0x589 PUSH2 0x48A JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP5 DUP3 DUP6 PUSH2 0x54C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5B2 JUMPI PUSH2 0x5B1 PUSH2 0x485 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5C2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x55B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E1 JUMPI PUSH2 0x5E0 PUSH2 0x47B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5FF JUMPI PUSH2 0x5FE PUSH2 0x480 JUMP JUMPDEST JUMPDEST PUSH2 0x60B DUP5 DUP3 DUP6 ADD PUSH2 0x59D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x627 DUP2 PUSH2 0x614 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x61E JUMP JUMPDEST SWAP3 SWAP2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x682 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x667 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 DUP3 PUSH2 0x648 JUMP JUMPDEST PUSH2 0x6A3 DUP2 DUP6 PUSH2 0x653 JUMP JUMPDEST SWAP4 POP PUSH2 0x6B3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x664 JUMP JUMPDEST PUSH2 0x6BC DUP2 PUSH2 0x48F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6E1 DUP2 DUP5 PUSH2 0x68E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FE DUP2 PUSH2 0x6E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x795 DUP3 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7A0 DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D5 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x7E3 DUP2 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x7FA JUMPI PUSH2 0x7F9 PUSH2 0x75B JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80C DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x817 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x82F JUMPI PUSH2 0x82E PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F206E756D657269632073756666697820666F756E64000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x87C PUSH1 0x17 DUP4 PUSH2 0x835 JUMP JUMPDEST SWAP2 POP PUSH2 0x887 DUP3 PUSH2 0x846 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8AB DUP2 PUSH2 0x86F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BD DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x8EF JUMPI PUSH2 0x8EE PUSH2 0x75B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED PUSH11 0x9E0A1DC1E9B8EB0165073E BLOBHASH EXTCODESIZE INVALID DUP12 TSTORE 0xEC PUSH16 0x75F400AA83268538B52161F964736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "159:2436:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@countLabels_3271": { + "entryPoint": 521, + "id": 3271, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractFirstLabel_3106": { + "entryPoint": 650, + "id": 3106, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractNumericSuffix_3180": { + "entryPoint": 283, + "id": 3180, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isNumber_3219": { + "entryPoint": 934, + "id": 3219, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 1371, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 1437, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_memory_ptr": { + "entryPoint": 1483, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack_library": { + "entryPoint": 1781, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 1678, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack": { + "entryPoint": 2159, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack_library": { + "entryPoint": 1566, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed": { + "entryPoint": 1796, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 1735, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 2194, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed": { + "entryPoint": 1581, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 1280, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 1137, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 1307, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 1608, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 1619, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 2101, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_add_t_uint256": { + "entryPoint": 2049, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_mul_t_uint256": { + "entryPoint": 1983, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint8": { + "entryPoint": 1930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 1769, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1556, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint8": { + "entryPoint": 1870, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 1356, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 1636, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 1231, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_t_uint256": { + "entryPoint": 2226, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 1883, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 1823, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 1184, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 1157, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 1162, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 1152, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 1147, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 1167, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46": { + "entryPoint": 2118, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:7899:21", + "nodeType": "YulBlock", + "src": "0:7899:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "423:28:21", + "nodeType": "YulBlock", + "src": "423:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:21", + "nodeType": "YulLiteral", + "src": "440:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:21", + "nodeType": "YulLiteral", + "src": "443:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:21", + "nodeType": "YulIdentifier", + "src": "433:6:21" + }, + "nativeSrc": "433:12:21", + "nodeType": "YulFunctionCall", + "src": "433:12:21" + }, + "nativeSrc": "433:12:21", + "nodeType": "YulExpressionStatement", + "src": "433:12:21" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:21", + "nodeType": "YulFunctionDefinition", + "src": "334:117:21" + }, + { + "body": { + "nativeSrc": "546:28:21", + "nodeType": "YulBlock", + "src": "546:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:21", + "nodeType": "YulLiteral", + "src": "563:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:21", + "nodeType": "YulLiteral", + "src": "566:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:21", + "nodeType": "YulIdentifier", + "src": "556:6:21" + }, + "nativeSrc": "556:12:21", + "nodeType": "YulFunctionCall", + "src": "556:12:21" + }, + "nativeSrc": "556:12:21", + "nodeType": "YulExpressionStatement", + "src": "556:12:21" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:21", + "nodeType": "YulFunctionDefinition", + "src": "457:117:21" + }, + { + "body": { + "nativeSrc": "628:54:21", + "nodeType": "YulBlock", + "src": "628:54:21", + "statements": [ + { + "nativeSrc": "638:38:21", + "nodeType": "YulAssignment", + "src": "638:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:21", + "nodeType": "YulIdentifier", + "src": "656:5:21" + }, + { + "kind": "number", + "nativeSrc": "663:2:21", + "nodeType": "YulLiteral", + "src": "663:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:21", + "nodeType": "YulIdentifier", + "src": "652:3:21" + }, + "nativeSrc": "652:14:21", + "nodeType": "YulFunctionCall", + "src": "652:14:21" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:21", + "nodeType": "YulLiteral", + "src": "672:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:21", + "nodeType": "YulIdentifier", + "src": "668:3:21" + }, + "nativeSrc": "668:7:21", + "nodeType": "YulFunctionCall", + "src": "668:7:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:21", + "nodeType": "YulIdentifier", + "src": "648:3:21" + }, + "nativeSrc": "648:28:21", + "nodeType": "YulFunctionCall", + "src": "648:28:21" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:21", + "nodeType": "YulIdentifier", + "src": "638:6:21" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:21", + "nodeType": "YulTypedName", + "src": "611:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:21", + "nodeType": "YulTypedName", + "src": "621:6:21", + "type": "" + } + ], + "src": "580:102:21" + }, + { + "body": { + "nativeSrc": "716:152:21", + "nodeType": "YulBlock", + "src": "716:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:21", + "nodeType": "YulLiteral", + "src": "733:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:21", + "nodeType": "YulLiteral", + "src": "736:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:21", + "nodeType": "YulIdentifier", + "src": "726:6:21" + }, + "nativeSrc": "726:88:21", + "nodeType": "YulFunctionCall", + "src": "726:88:21" + }, + "nativeSrc": "726:88:21", + "nodeType": "YulExpressionStatement", + "src": "726:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:21", + "nodeType": "YulLiteral", + "src": "830:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:21", + "nodeType": "YulLiteral", + "src": "833:4:21", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:21", + "nodeType": "YulIdentifier", + "src": "823:6:21" + }, + "nativeSrc": "823:15:21", + "nodeType": "YulFunctionCall", + "src": "823:15:21" + }, + "nativeSrc": "823:15:21", + "nodeType": "YulExpressionStatement", + "src": "823:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:21", + "nodeType": "YulLiteral", + "src": "854:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:21", + "nodeType": "YulLiteral", + "src": "857:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:21", + "nodeType": "YulIdentifier", + "src": "847:6:21" + }, + "nativeSrc": "847:15:21", + "nodeType": "YulFunctionCall", + "src": "847:15:21" + }, + "nativeSrc": "847:15:21", + "nodeType": "YulExpressionStatement", + "src": "847:15:21" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:21", + "nodeType": "YulFunctionDefinition", + "src": "688:180:21" + }, + { + "body": { + "nativeSrc": "917:238:21", + "nodeType": "YulBlock", + "src": "917:238:21", + "statements": [ + { + "nativeSrc": "927:58:21", + "nodeType": "YulVariableDeclaration", + "src": "927:58:21", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:21", + "nodeType": "YulIdentifier", + "src": "949:6:21" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:21", + "nodeType": "YulIdentifier", + "src": "979:4:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:21", + "nodeType": "YulIdentifier", + "src": "957:21:21" + }, + "nativeSrc": "957:27:21", + "nodeType": "YulFunctionCall", + "src": "957:27:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:21", + "nodeType": "YulIdentifier", + "src": "945:3:21" + }, + "nativeSrc": "945:40:21", + "nodeType": "YulFunctionCall", + "src": "945:40:21" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:21", + "nodeType": "YulTypedName", + "src": "931:10:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:21", + "nodeType": "YulBlock", + "src": "1096:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:21", + "nodeType": "YulIdentifier", + "src": "1098:16:21" + }, + "nativeSrc": "1098:18:21", + "nodeType": "YulFunctionCall", + "src": "1098:18:21" + }, + "nativeSrc": "1098:18:21", + "nodeType": "YulExpressionStatement", + "src": "1098:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:21", + "nodeType": "YulIdentifier", + "src": "1039:10:21" + }, + { + "kind": "number", + "nativeSrc": "1051:18:21", + "nodeType": "YulLiteral", + "src": "1051:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:21", + "nodeType": "YulIdentifier", + "src": "1036:2:21" + }, + "nativeSrc": "1036:34:21", + "nodeType": "YulFunctionCall", + "src": "1036:34:21" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:21", + "nodeType": "YulIdentifier", + "src": "1075:10:21" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:21", + "nodeType": "YulIdentifier", + "src": "1087:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:21", + "nodeType": "YulIdentifier", + "src": "1072:2:21" + }, + "nativeSrc": "1072:22:21", + "nodeType": "YulFunctionCall", + "src": "1072:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:21", + "nodeType": "YulIdentifier", + "src": "1033:2:21" + }, + "nativeSrc": "1033:62:21", + "nodeType": "YulFunctionCall", + "src": "1033:62:21" + }, + "nativeSrc": "1030:88:21", + "nodeType": "YulIf", + "src": "1030:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:21", + "nodeType": "YulLiteral", + "src": "1134:2:21", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:21", + "nodeType": "YulIdentifier", + "src": "1138:10:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:21", + "nodeType": "YulIdentifier", + "src": "1127:6:21" + }, + "nativeSrc": "1127:22:21", + "nodeType": "YulFunctionCall", + "src": "1127:22:21" + }, + "nativeSrc": "1127:22:21", + "nodeType": "YulExpressionStatement", + "src": "1127:22:21" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:21", + "nodeType": "YulTypedName", + "src": "903:6:21", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:21", + "nodeType": "YulTypedName", + "src": "911:4:21", + "type": "" + } + ], + "src": "874:281:21" + }, + { + "body": { + "nativeSrc": "1202:88:21", + "nodeType": "YulBlock", + "src": "1202:88:21", + "statements": [ + { + "nativeSrc": "1212:30:21", + "nodeType": "YulAssignment", + "src": "1212:30:21", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:21", + "nodeType": "YulIdentifier", + "src": "1222:18:21" + }, + "nativeSrc": "1222:20:21", + "nodeType": "YulFunctionCall", + "src": "1222:20:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:21", + "nodeType": "YulIdentifier", + "src": "1212:6:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:21", + "nodeType": "YulIdentifier", + "src": "1271:6:21" + }, + { + "name": "size", + "nativeSrc": "1279:4:21", + "nodeType": "YulIdentifier", + "src": "1279:4:21" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:21", + "nodeType": "YulIdentifier", + "src": "1251:19:21" + }, + "nativeSrc": "1251:33:21", + "nodeType": "YulFunctionCall", + "src": "1251:33:21" + }, + "nativeSrc": "1251:33:21", + "nodeType": "YulExpressionStatement", + "src": "1251:33:21" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:21", + "nodeType": "YulTypedName", + "src": "1186:4:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:21", + "nodeType": "YulTypedName", + "src": "1195:6:21", + "type": "" + } + ], + "src": "1161:129:21" + }, + { + "body": { + "nativeSrc": "1362:241:21", + "nodeType": "YulBlock", + "src": "1362:241:21", + "statements": [ + { + "body": { + "nativeSrc": "1467:22:21", + "nodeType": "YulBlock", + "src": "1467:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1469:16:21", + "nodeType": "YulIdentifier", + "src": "1469:16:21" + }, + "nativeSrc": "1469:18:21", + "nodeType": "YulFunctionCall", + "src": "1469:18:21" + }, + "nativeSrc": "1469:18:21", + "nodeType": "YulExpressionStatement", + "src": "1469:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1439:6:21", + "nodeType": "YulIdentifier", + "src": "1439:6:21" + }, + { + "kind": "number", + "nativeSrc": "1447:18:21", + "nodeType": "YulLiteral", + "src": "1447:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1436:2:21", + "nodeType": "YulIdentifier", + "src": "1436:2:21" + }, + "nativeSrc": "1436:30:21", + "nodeType": "YulFunctionCall", + "src": "1436:30:21" + }, + "nativeSrc": "1433:56:21", + "nodeType": "YulIf", + "src": "1433:56:21" + }, + { + "nativeSrc": "1499:37:21", + "nodeType": "YulAssignment", + "src": "1499:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1529:6:21", + "nodeType": "YulIdentifier", + "src": "1529:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1507:21:21", + "nodeType": "YulIdentifier", + "src": "1507:21:21" + }, + "nativeSrc": "1507:29:21", + "nodeType": "YulFunctionCall", + "src": "1507:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1499:4:21", + "nodeType": "YulIdentifier", + "src": "1499:4:21" + } + ] + }, + { + "nativeSrc": "1573:23:21", + "nodeType": "YulAssignment", + "src": "1573:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1585:4:21", + "nodeType": "YulIdentifier", + "src": "1585:4:21" + }, + { + "kind": "number", + "nativeSrc": "1591:4:21", + "nodeType": "YulLiteral", + "src": "1591:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1581:3:21", + "nodeType": "YulIdentifier", + "src": "1581:3:21" + }, + "nativeSrc": "1581:15:21", + "nodeType": "YulFunctionCall", + "src": "1581:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1573:4:21", + "nodeType": "YulIdentifier", + "src": "1573:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "1296:307:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1346:6:21", + "nodeType": "YulTypedName", + "src": "1346:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1357:4:21", + "nodeType": "YulTypedName", + "src": "1357:4:21", + "type": "" + } + ], + "src": "1296:307:21" + }, + { + "body": { + "nativeSrc": "1673:84:21", + "nodeType": "YulBlock", + "src": "1673:84:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:21", + "nodeType": "YulIdentifier", + "src": "1697:3:21" + }, + { + "name": "src", + "nativeSrc": "1702:3:21", + "nodeType": "YulIdentifier", + "src": "1702:3:21" + }, + { + "name": "length", + "nativeSrc": "1707:6:21", + "nodeType": "YulIdentifier", + "src": "1707:6:21" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:21", + "nodeType": "YulIdentifier", + "src": "1684:12:21" + }, + "nativeSrc": "1684:30:21", + "nodeType": "YulFunctionCall", + "src": "1684:30:21" + }, + "nativeSrc": "1684:30:21", + "nodeType": "YulExpressionStatement", + "src": "1684:30:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:21", + "nodeType": "YulIdentifier", + "src": "1734:3:21" + }, + { + "name": "length", + "nativeSrc": "1739:6:21", + "nodeType": "YulIdentifier", + "src": "1739:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:21", + "nodeType": "YulIdentifier", + "src": "1730:3:21" + }, + "nativeSrc": "1730:16:21", + "nodeType": "YulFunctionCall", + "src": "1730:16:21" + }, + { + "kind": "number", + "nativeSrc": "1748:1:21", + "nodeType": "YulLiteral", + "src": "1748:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:21", + "nodeType": "YulIdentifier", + "src": "1723:6:21" + }, + "nativeSrc": "1723:27:21", + "nodeType": "YulFunctionCall", + "src": "1723:27:21" + }, + "nativeSrc": "1723:27:21", + "nodeType": "YulExpressionStatement", + "src": "1723:27:21" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1609:148:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1655:3:21", + "nodeType": "YulTypedName", + "src": "1655:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1660:3:21", + "nodeType": "YulTypedName", + "src": "1660:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1665:6:21", + "nodeType": "YulTypedName", + "src": "1665:6:21", + "type": "" + } + ], + "src": "1609:148:21" + }, + { + "body": { + "nativeSrc": "1846:340:21", + "nodeType": "YulBlock", + "src": "1846:340:21", + "statements": [ + { + "nativeSrc": "1856:74:21", + "nodeType": "YulAssignment", + "src": "1856:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1922:6:21", + "nodeType": "YulIdentifier", + "src": "1922:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "1881:40:21", + "nodeType": "YulIdentifier", + "src": "1881:40:21" + }, + "nativeSrc": "1881:48:21", + "nodeType": "YulFunctionCall", + "src": "1881:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:21", + "nodeType": "YulIdentifier", + "src": "1865:15:21" + }, + "nativeSrc": "1865:65:21", + "nodeType": "YulFunctionCall", + "src": "1865:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:21", + "nodeType": "YulIdentifier", + "src": "1856:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1946:5:21", + "nodeType": "YulIdentifier", + "src": "1946:5:21" + }, + { + "name": "length", + "nativeSrc": "1953:6:21", + "nodeType": "YulIdentifier", + "src": "1953:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1939:6:21", + "nodeType": "YulIdentifier", + "src": "1939:6:21" + }, + "nativeSrc": "1939:21:21", + "nodeType": "YulFunctionCall", + "src": "1939:21:21" + }, + "nativeSrc": "1939:21:21", + "nodeType": "YulExpressionStatement", + "src": "1939:21:21" + }, + { + "nativeSrc": "1969:27:21", + "nodeType": "YulVariableDeclaration", + "src": "1969:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1984:5:21", + "nodeType": "YulIdentifier", + "src": "1984:5:21" + }, + { + "kind": "number", + "nativeSrc": "1991:4:21", + "nodeType": "YulLiteral", + "src": "1991:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1980:3:21", + "nodeType": "YulIdentifier", + "src": "1980:3:21" + }, + "nativeSrc": "1980:16:21", + "nodeType": "YulFunctionCall", + "src": "1980:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1973:3:21", + "nodeType": "YulTypedName", + "src": "1973:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2034:83:21", + "nodeType": "YulBlock", + "src": "2034:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2036:77:21", + "nodeType": "YulIdentifier", + "src": "2036:77:21" + }, + "nativeSrc": "2036:79:21", + "nodeType": "YulFunctionCall", + "src": "2036:79:21" + }, + "nativeSrc": "2036:79:21", + "nodeType": "YulExpressionStatement", + "src": "2036:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2015:3:21", + "nodeType": "YulIdentifier", + "src": "2015:3:21" + }, + { + "name": "length", + "nativeSrc": "2020:6:21", + "nodeType": "YulIdentifier", + "src": "2020:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2011:3:21", + "nodeType": "YulIdentifier", + "src": "2011:3:21" + }, + "nativeSrc": "2011:16:21", + "nodeType": "YulFunctionCall", + "src": "2011:16:21" + }, + { + "name": "end", + "nativeSrc": "2029:3:21", + "nodeType": "YulIdentifier", + "src": "2029:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2008:2:21", + "nodeType": "YulIdentifier", + "src": "2008:2:21" + }, + "nativeSrc": "2008:25:21", + "nodeType": "YulFunctionCall", + "src": "2008:25:21" + }, + "nativeSrc": "2005:112:21", + "nodeType": "YulIf", + "src": "2005:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2163:3:21", + "nodeType": "YulIdentifier", + "src": "2163:3:21" + }, + { + "name": "dst", + "nativeSrc": "2168:3:21", + "nodeType": "YulIdentifier", + "src": "2168:3:21" + }, + { + "name": "length", + "nativeSrc": "2173:6:21", + "nodeType": "YulIdentifier", + "src": "2173:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2126:36:21", + "nodeType": "YulIdentifier", + "src": "2126:36:21" + }, + "nativeSrc": "2126:54:21", + "nodeType": "YulFunctionCall", + "src": "2126:54:21" + }, + "nativeSrc": "2126:54:21", + "nodeType": "YulExpressionStatement", + "src": "2126:54:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "1763:423:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:21", + "nodeType": "YulTypedName", + "src": "1819:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:21", + "nodeType": "YulTypedName", + "src": "1824:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:21", + "nodeType": "YulTypedName", + "src": "1832:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:21", + "nodeType": "YulTypedName", + "src": "1840:5:21", + "type": "" + } + ], + "src": "1763:423:21" + }, + { + "body": { + "nativeSrc": "2266:277:21", + "nodeType": "YulBlock", + "src": "2266:277:21", + "statements": [ + { + "body": { + "nativeSrc": "2315:83:21", + "nodeType": "YulBlock", + "src": "2315:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2317:77:21", + "nodeType": "YulIdentifier", + "src": "2317:77:21" + }, + "nativeSrc": "2317:79:21", + "nodeType": "YulFunctionCall", + "src": "2317:79:21" + }, + "nativeSrc": "2317:79:21", + "nodeType": "YulExpressionStatement", + "src": "2317:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2294:6:21", + "nodeType": "YulIdentifier", + "src": "2294:6:21" + }, + { + "kind": "number", + "nativeSrc": "2302:4:21", + "nodeType": "YulLiteral", + "src": "2302:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2290:3:21", + "nodeType": "YulIdentifier", + "src": "2290:3:21" + }, + "nativeSrc": "2290:17:21", + "nodeType": "YulFunctionCall", + "src": "2290:17:21" + }, + { + "name": "end", + "nativeSrc": "2309:3:21", + "nodeType": "YulIdentifier", + "src": "2309:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2286:3:21", + "nodeType": "YulIdentifier", + "src": "2286:3:21" + }, + "nativeSrc": "2286:27:21", + "nodeType": "YulFunctionCall", + "src": "2286:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2279:6:21", + "nodeType": "YulIdentifier", + "src": "2279:6:21" + }, + "nativeSrc": "2279:35:21", + "nodeType": "YulFunctionCall", + "src": "2279:35:21" + }, + "nativeSrc": "2276:122:21", + "nodeType": "YulIf", + "src": "2276:122:21" + }, + { + "nativeSrc": "2407:34:21", + "nodeType": "YulVariableDeclaration", + "src": "2407:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2434:6:21", + "nodeType": "YulIdentifier", + "src": "2434:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2421:12:21", + "nodeType": "YulIdentifier", + "src": "2421:12:21" + }, + "nativeSrc": "2421:20:21", + "nodeType": "YulFunctionCall", + "src": "2421:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2411:6:21", + "nodeType": "YulTypedName", + "src": "2411:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2450:87:21", + "nodeType": "YulAssignment", + "src": "2450:87:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2510:6:21", + "nodeType": "YulIdentifier", + "src": "2510:6:21" + }, + { + "kind": "number", + "nativeSrc": "2518:4:21", + "nodeType": "YulLiteral", + "src": "2518:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2506:3:21", + "nodeType": "YulIdentifier", + "src": "2506:3:21" + }, + "nativeSrc": "2506:17:21", + "nodeType": "YulFunctionCall", + "src": "2506:17:21" + }, + { + "name": "length", + "nativeSrc": "2525:6:21", + "nodeType": "YulIdentifier", + "src": "2525:6:21" + }, + { + "name": "end", + "nativeSrc": "2533:3:21", + "nodeType": "YulIdentifier", + "src": "2533:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "2459:46:21", + "nodeType": "YulIdentifier", + "src": "2459:46:21" + }, + "nativeSrc": "2459:78:21", + "nodeType": "YulFunctionCall", + "src": "2459:78:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2450:5:21", + "nodeType": "YulIdentifier", + "src": "2450:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "2205:338:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2244:6:21", + "nodeType": "YulTypedName", + "src": "2244:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2252:3:21", + "nodeType": "YulTypedName", + "src": "2252:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2260:5:21", + "nodeType": "YulTypedName", + "src": "2260:5:21", + "type": "" + } + ], + "src": "2205:338:21" + }, + { + "body": { + "nativeSrc": "2624:432:21", + "nodeType": "YulBlock", + "src": "2624:432:21", + "statements": [ + { + "body": { + "nativeSrc": "2670:83:21", + "nodeType": "YulBlock", + "src": "2670:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2672:77:21", + "nodeType": "YulIdentifier", + "src": "2672:77:21" + }, + "nativeSrc": "2672:79:21", + "nodeType": "YulFunctionCall", + "src": "2672:79:21" + }, + "nativeSrc": "2672:79:21", + "nodeType": "YulExpressionStatement", + "src": "2672:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2645:7:21", + "nodeType": "YulIdentifier", + "src": "2645:7:21" + }, + { + "name": "headStart", + "nativeSrc": "2654:9:21", + "nodeType": "YulIdentifier", + "src": "2654:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2641:3:21", + "nodeType": "YulIdentifier", + "src": "2641:3:21" + }, + "nativeSrc": "2641:23:21", + "nodeType": "YulFunctionCall", + "src": "2641:23:21" + }, + { + "kind": "number", + "nativeSrc": "2666:2:21", + "nodeType": "YulLiteral", + "src": "2666:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2637:3:21", + "nodeType": "YulIdentifier", + "src": "2637:3:21" + }, + "nativeSrc": "2637:32:21", + "nodeType": "YulFunctionCall", + "src": "2637:32:21" + }, + "nativeSrc": "2634:119:21", + "nodeType": "YulIf", + "src": "2634:119:21" + }, + { + "nativeSrc": "2763:286:21", + "nodeType": "YulBlock", + "src": "2763:286:21", + "statements": [ + { + "nativeSrc": "2778:45:21", + "nodeType": "YulVariableDeclaration", + "src": "2778:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2809:9:21", + "nodeType": "YulIdentifier", + "src": "2809:9:21" + }, + { + "kind": "number", + "nativeSrc": "2820:1:21", + "nodeType": "YulLiteral", + "src": "2820:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2805:3:21", + "nodeType": "YulIdentifier", + "src": "2805:3:21" + }, + "nativeSrc": "2805:17:21", + "nodeType": "YulFunctionCall", + "src": "2805:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2792:12:21", + "nodeType": "YulIdentifier", + "src": "2792:12:21" + }, + "nativeSrc": "2792:31:21", + "nodeType": "YulFunctionCall", + "src": "2792:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2782:6:21", + "nodeType": "YulTypedName", + "src": "2782:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2870:83:21", + "nodeType": "YulBlock", + "src": "2870:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "2872:77:21", + "nodeType": "YulIdentifier", + "src": "2872:77:21" + }, + "nativeSrc": "2872:79:21", + "nodeType": "YulFunctionCall", + "src": "2872:79:21" + }, + "nativeSrc": "2872:79:21", + "nodeType": "YulExpressionStatement", + "src": "2872:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2842:6:21", + "nodeType": "YulIdentifier", + "src": "2842:6:21" + }, + { + "kind": "number", + "nativeSrc": "2850:18:21", + "nodeType": "YulLiteral", + "src": "2850:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2839:2:21", + "nodeType": "YulIdentifier", + "src": "2839:2:21" + }, + "nativeSrc": "2839:30:21", + "nodeType": "YulFunctionCall", + "src": "2839:30:21" + }, + "nativeSrc": "2836:117:21", + "nodeType": "YulIf", + "src": "2836:117:21" + }, + { + "nativeSrc": "2967:72:21", + "nodeType": "YulAssignment", + "src": "2967:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3011:9:21", + "nodeType": "YulIdentifier", + "src": "3011:9:21" + }, + { + "name": "offset", + "nativeSrc": "3022:6:21", + "nodeType": "YulIdentifier", + "src": "3022:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3007:3:21", + "nodeType": "YulIdentifier", + "src": "3007:3:21" + }, + "nativeSrc": "3007:22:21", + "nodeType": "YulFunctionCall", + "src": "3007:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3031:7:21", + "nodeType": "YulIdentifier", + "src": "3031:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "2977:29:21", + "nodeType": "YulIdentifier", + "src": "2977:29:21" + }, + "nativeSrc": "2977:62:21", + "nodeType": "YulFunctionCall", + "src": "2977:62:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2967:6:21", + "nodeType": "YulIdentifier", + "src": "2967:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nativeSrc": "2549:507:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2594:9:21", + "nodeType": "YulTypedName", + "src": "2594:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2605:7:21", + "nodeType": "YulTypedName", + "src": "2605:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2617:6:21", + "nodeType": "YulTypedName", + "src": "2617:6:21", + "type": "" + } + ], + "src": "2549:507:21" + }, + { + "body": { + "nativeSrc": "3107:32:21", + "nodeType": "YulBlock", + "src": "3107:32:21", + "statements": [ + { + "nativeSrc": "3117:16:21", + "nodeType": "YulAssignment", + "src": "3117:16:21", + "value": { + "name": "value", + "nativeSrc": "3128:5:21", + "nodeType": "YulIdentifier", + "src": "3128:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3117:7:21", + "nodeType": "YulIdentifier", + "src": "3117:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3062:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3089:5:21", + "nodeType": "YulTypedName", + "src": "3089:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3099:7:21", + "nodeType": "YulTypedName", + "src": "3099:7:21", + "type": "" + } + ], + "src": "3062:77:21" + }, + { + "body": { + "nativeSrc": "3218:53:21", + "nodeType": "YulBlock", + "src": "3218:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3235:3:21", + "nodeType": "YulIdentifier", + "src": "3235:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3258:5:21", + "nodeType": "YulIdentifier", + "src": "3258:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3240:17:21", + "nodeType": "YulIdentifier", + "src": "3240:17:21" + }, + "nativeSrc": "3240:24:21", + "nodeType": "YulFunctionCall", + "src": "3240:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3228:6:21", + "nodeType": "YulIdentifier", + "src": "3228:6:21" + }, + "nativeSrc": "3228:37:21", + "nodeType": "YulFunctionCall", + "src": "3228:37:21" + }, + "nativeSrc": "3228:37:21", + "nodeType": "YulExpressionStatement", + "src": "3228:37:21" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack_library", + "nativeSrc": "3145:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3206:5:21", + "nodeType": "YulTypedName", + "src": "3206:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3213:3:21", + "nodeType": "YulTypedName", + "src": "3213:3:21", + "type": "" + } + ], + "src": "3145:126:21" + }, + { + "body": { + "nativeSrc": "3383:132:21", + "nodeType": "YulBlock", + "src": "3383:132:21", + "statements": [ + { + "nativeSrc": "3393:26:21", + "nodeType": "YulAssignment", + "src": "3393:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3405:9:21", + "nodeType": "YulIdentifier", + "src": "3405:9:21" + }, + { + "kind": "number", + "nativeSrc": "3416:2:21", + "nodeType": "YulLiteral", + "src": "3416:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3401:3:21", + "nodeType": "YulIdentifier", + "src": "3401:3:21" + }, + "nativeSrc": "3401:18:21", + "nodeType": "YulFunctionCall", + "src": "3401:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3393:4:21", + "nodeType": "YulIdentifier", + "src": "3393:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3481:6:21", + "nodeType": "YulIdentifier", + "src": "3481:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3494:9:21", + "nodeType": "YulIdentifier", + "src": "3494:9:21" + }, + { + "kind": "number", + "nativeSrc": "3505:1:21", + "nodeType": "YulLiteral", + "src": "3505:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3490:3:21", + "nodeType": "YulIdentifier", + "src": "3490:3:21" + }, + "nativeSrc": "3490:17:21", + "nodeType": "YulFunctionCall", + "src": "3490:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack_library", + "nativeSrc": "3429:51:21", + "nodeType": "YulIdentifier", + "src": "3429:51:21" + }, + "nativeSrc": "3429:79:21", + "nodeType": "YulFunctionCall", + "src": "3429:79:21" + }, + "nativeSrc": "3429:79:21", + "nodeType": "YulExpressionStatement", + "src": "3429:79:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", + "nativeSrc": "3277:238:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3355:9:21", + "nodeType": "YulTypedName", + "src": "3355:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3367:6:21", + "nodeType": "YulTypedName", + "src": "3367:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3378:4:21", + "nodeType": "YulTypedName", + "src": "3378:4:21", + "type": "" + } + ], + "src": "3277:238:21" + }, + { + "body": { + "nativeSrc": "3579:40:21", + "nodeType": "YulBlock", + "src": "3579:40:21", + "statements": [ + { + "nativeSrc": "3590:22:21", + "nodeType": "YulAssignment", + "src": "3590:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3606:5:21", + "nodeType": "YulIdentifier", + "src": "3606:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3600:5:21", + "nodeType": "YulIdentifier", + "src": "3600:5:21" + }, + "nativeSrc": "3600:12:21", + "nodeType": "YulFunctionCall", + "src": "3600:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "3590:6:21", + "nodeType": "YulIdentifier", + "src": "3590:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "3521:98:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3562:5:21", + "nodeType": "YulTypedName", + "src": "3562:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "3572:6:21", + "nodeType": "YulTypedName", + "src": "3572:6:21", + "type": "" + } + ], + "src": "3521:98:21" + }, + { + "body": { + "nativeSrc": "3728:73:21", + "nodeType": "YulBlock", + "src": "3728:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3745:3:21", + "nodeType": "YulIdentifier", + "src": "3745:3:21" + }, + { + "name": "length", + "nativeSrc": "3750:6:21", + "nodeType": "YulIdentifier", + "src": "3750:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3738:6:21", + "nodeType": "YulIdentifier", + "src": "3738:6:21" + }, + "nativeSrc": "3738:19:21", + "nodeType": "YulFunctionCall", + "src": "3738:19:21" + }, + "nativeSrc": "3738:19:21", + "nodeType": "YulExpressionStatement", + "src": "3738:19:21" + }, + { + "nativeSrc": "3766:29:21", + "nodeType": "YulAssignment", + "src": "3766:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3785:3:21", + "nodeType": "YulIdentifier", + "src": "3785:3:21" + }, + { + "kind": "number", + "nativeSrc": "3790:4:21", + "nodeType": "YulLiteral", + "src": "3790:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3781:3:21", + "nodeType": "YulIdentifier", + "src": "3781:3:21" + }, + "nativeSrc": "3781:14:21", + "nodeType": "YulFunctionCall", + "src": "3781:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "3766:11:21", + "nodeType": "YulIdentifier", + "src": "3766:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "3625:176:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3700:3:21", + "nodeType": "YulTypedName", + "src": "3700:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3705:6:21", + "nodeType": "YulTypedName", + "src": "3705:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "3716:11:21", + "nodeType": "YulTypedName", + "src": "3716:11:21", + "type": "" + } + ], + "src": "3625:176:21" + }, + { + "body": { + "nativeSrc": "3869:186:21", + "nodeType": "YulBlock", + "src": "3869:186:21", + "statements": [ + { + "nativeSrc": "3880:10:21", + "nodeType": "YulVariableDeclaration", + "src": "3880:10:21", + "value": { + "kind": "number", + "nativeSrc": "3889:1:21", + "nodeType": "YulLiteral", + "src": "3889:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "3884:1:21", + "nodeType": "YulTypedName", + "src": "3884:1:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3949:63:21", + "nodeType": "YulBlock", + "src": "3949:63:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "3974:3:21", + "nodeType": "YulIdentifier", + "src": "3974:3:21" + }, + { + "name": "i", + "nativeSrc": "3979:1:21", + "nodeType": "YulIdentifier", + "src": "3979:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3970:3:21", + "nodeType": "YulIdentifier", + "src": "3970:3:21" + }, + "nativeSrc": "3970:11:21", + "nodeType": "YulFunctionCall", + "src": "3970:11:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "3993:3:21", + "nodeType": "YulIdentifier", + "src": "3993:3:21" + }, + { + "name": "i", + "nativeSrc": "3998:1:21", + "nodeType": "YulIdentifier", + "src": "3998:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3989:3:21", + "nodeType": "YulIdentifier", + "src": "3989:3:21" + }, + "nativeSrc": "3989:11:21", + "nodeType": "YulFunctionCall", + "src": "3989:11:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3983:5:21", + "nodeType": "YulIdentifier", + "src": "3983:5:21" + }, + "nativeSrc": "3983:18:21", + "nodeType": "YulFunctionCall", + "src": "3983:18:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3963:6:21", + "nodeType": "YulIdentifier", + "src": "3963:6:21" + }, + "nativeSrc": "3963:39:21", + "nodeType": "YulFunctionCall", + "src": "3963:39:21" + }, + "nativeSrc": "3963:39:21", + "nodeType": "YulExpressionStatement", + "src": "3963:39:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "3910:1:21", + "nodeType": "YulIdentifier", + "src": "3910:1:21" + }, + { + "name": "length", + "nativeSrc": "3913:6:21", + "nodeType": "YulIdentifier", + "src": "3913:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3907:2:21", + "nodeType": "YulIdentifier", + "src": "3907:2:21" + }, + "nativeSrc": "3907:13:21", + "nodeType": "YulFunctionCall", + "src": "3907:13:21" + }, + "nativeSrc": "3899:113:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "3921:19:21", + "nodeType": "YulBlock", + "src": "3921:19:21", + "statements": [ + { + "nativeSrc": "3923:15:21", + "nodeType": "YulAssignment", + "src": "3923:15:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "3932:1:21", + "nodeType": "YulIdentifier", + "src": "3932:1:21" + }, + { + "kind": "number", + "nativeSrc": "3935:2:21", + "nodeType": "YulLiteral", + "src": "3935:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3928:3:21", + "nodeType": "YulIdentifier", + "src": "3928:3:21" + }, + "nativeSrc": "3928:10:21", + "nodeType": "YulFunctionCall", + "src": "3928:10:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "3923:1:21", + "nodeType": "YulIdentifier", + "src": "3923:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "3903:3:21", + "nodeType": "YulBlock", + "src": "3903:3:21", + "statements": [] + }, + "src": "3899:113:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "4032:3:21", + "nodeType": "YulIdentifier", + "src": "4032:3:21" + }, + { + "name": "length", + "nativeSrc": "4037:6:21", + "nodeType": "YulIdentifier", + "src": "4037:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4028:3:21", + "nodeType": "YulIdentifier", + "src": "4028:3:21" + }, + "nativeSrc": "4028:16:21", + "nodeType": "YulFunctionCall", + "src": "4028:16:21" + }, + { + "kind": "number", + "nativeSrc": "4046:1:21", + "nodeType": "YulLiteral", + "src": "4046:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4021:6:21", + "nodeType": "YulIdentifier", + "src": "4021:6:21" + }, + "nativeSrc": "4021:27:21", + "nodeType": "YulFunctionCall", + "src": "4021:27:21" + }, + "nativeSrc": "4021:27:21", + "nodeType": "YulExpressionStatement", + "src": "4021:27:21" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "3807:248:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "3851:3:21", + "nodeType": "YulTypedName", + "src": "3851:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "3856:3:21", + "nodeType": "YulTypedName", + "src": "3856:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3861:6:21", + "nodeType": "YulTypedName", + "src": "3861:6:21", + "type": "" + } + ], + "src": "3807:248:21" + }, + { + "body": { + "nativeSrc": "4159:291:21", + "nodeType": "YulBlock", + "src": "4159:291:21", + "statements": [ + { + "nativeSrc": "4169:52:21", + "nodeType": "YulVariableDeclaration", + "src": "4169:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4215:5:21", + "nodeType": "YulIdentifier", + "src": "4215:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "4183:31:21", + "nodeType": "YulIdentifier", + "src": "4183:31:21" + }, + "nativeSrc": "4183:38:21", + "nodeType": "YulFunctionCall", + "src": "4183:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "4173:6:21", + "nodeType": "YulTypedName", + "src": "4173:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "4230:85:21", + "nodeType": "YulAssignment", + "src": "4230:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4303:3:21", + "nodeType": "YulIdentifier", + "src": "4303:3:21" + }, + { + "name": "length", + "nativeSrc": "4308:6:21", + "nodeType": "YulIdentifier", + "src": "4308:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4237:65:21", + "nodeType": "YulIdentifier", + "src": "4237:65:21" + }, + "nativeSrc": "4237:78:21", + "nodeType": "YulFunctionCall", + "src": "4237:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "4230:3:21", + "nodeType": "YulIdentifier", + "src": "4230:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4363:5:21", + "nodeType": "YulIdentifier", + "src": "4363:5:21" + }, + { + "kind": "number", + "nativeSrc": "4370:4:21", + "nodeType": "YulLiteral", + "src": "4370:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4359:3:21", + "nodeType": "YulIdentifier", + "src": "4359:3:21" + }, + "nativeSrc": "4359:16:21", + "nodeType": "YulFunctionCall", + "src": "4359:16:21" + }, + { + "name": "pos", + "nativeSrc": "4377:3:21", + "nodeType": "YulIdentifier", + "src": "4377:3:21" + }, + { + "name": "length", + "nativeSrc": "4382:6:21", + "nodeType": "YulIdentifier", + "src": "4382:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "4324:34:21", + "nodeType": "YulIdentifier", + "src": "4324:34:21" + }, + "nativeSrc": "4324:65:21", + "nodeType": "YulFunctionCall", + "src": "4324:65:21" + }, + "nativeSrc": "4324:65:21", + "nodeType": "YulExpressionStatement", + "src": "4324:65:21" + }, + { + "nativeSrc": "4398:46:21", + "nodeType": "YulAssignment", + "src": "4398:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4409:3:21", + "nodeType": "YulIdentifier", + "src": "4409:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "4436:6:21", + "nodeType": "YulIdentifier", + "src": "4436:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "4414:21:21", + "nodeType": "YulIdentifier", + "src": "4414:21:21" + }, + "nativeSrc": "4414:29:21", + "nodeType": "YulFunctionCall", + "src": "4414:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4405:3:21", + "nodeType": "YulIdentifier", + "src": "4405:3:21" + }, + "nativeSrc": "4405:39:21", + "nodeType": "YulFunctionCall", + "src": "4405:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4398:3:21", + "nodeType": "YulIdentifier", + "src": "4398:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4061:389:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4140:5:21", + "nodeType": "YulTypedName", + "src": "4140:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4147:3:21", + "nodeType": "YulTypedName", + "src": "4147:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4155:3:21", + "nodeType": "YulTypedName", + "src": "4155:3:21", + "type": "" + } + ], + "src": "4061:389:21" + }, + { + "body": { + "nativeSrc": "4580:201:21", + "nodeType": "YulBlock", + "src": "4580:201:21", + "statements": [ + { + "nativeSrc": "4590:26:21", + "nodeType": "YulAssignment", + "src": "4590:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4602:9:21", + "nodeType": "YulIdentifier", + "src": "4602:9:21" + }, + { + "kind": "number", + "nativeSrc": "4613:2:21", + "nodeType": "YulLiteral", + "src": "4613:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4598:3:21", + "nodeType": "YulIdentifier", + "src": "4598:3:21" + }, + "nativeSrc": "4598:18:21", + "nodeType": "YulFunctionCall", + "src": "4598:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4590:4:21", + "nodeType": "YulIdentifier", + "src": "4590:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4637:9:21", + "nodeType": "YulIdentifier", + "src": "4637:9:21" + }, + { + "kind": "number", + "nativeSrc": "4648:1:21", + "nodeType": "YulLiteral", + "src": "4648:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4633:3:21", + "nodeType": "YulIdentifier", + "src": "4633:3:21" + }, + "nativeSrc": "4633:17:21", + "nodeType": "YulFunctionCall", + "src": "4633:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4656:4:21", + "nodeType": "YulIdentifier", + "src": "4656:4:21" + }, + { + "name": "headStart", + "nativeSrc": "4662:9:21", + "nodeType": "YulIdentifier", + "src": "4662:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4652:3:21", + "nodeType": "YulIdentifier", + "src": "4652:3:21" + }, + "nativeSrc": "4652:20:21", + "nodeType": "YulFunctionCall", + "src": "4652:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4626:6:21", + "nodeType": "YulIdentifier", + "src": "4626:6:21" + }, + "nativeSrc": "4626:47:21", + "nodeType": "YulFunctionCall", + "src": "4626:47:21" + }, + "nativeSrc": "4626:47:21", + "nodeType": "YulExpressionStatement", + "src": "4626:47:21" + }, + { + "nativeSrc": "4682:92:21", + "nodeType": "YulAssignment", + "src": "4682:92:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4760:6:21", + "nodeType": "YulIdentifier", + "src": "4760:6:21" + }, + { + "name": "tail", + "nativeSrc": "4769:4:21", + "nodeType": "YulIdentifier", + "src": "4769:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4690:69:21", + "nodeType": "YulIdentifier", + "src": "4690:69:21" + }, + "nativeSrc": "4690:84:21", + "nodeType": "YulFunctionCall", + "src": "4690:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4682:4:21", + "nodeType": "YulIdentifier", + "src": "4682:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "4456:325:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4552:9:21", + "nodeType": "YulTypedName", + "src": "4552:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4564:6:21", + "nodeType": "YulTypedName", + "src": "4564:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4575:4:21", + "nodeType": "YulTypedName", + "src": "4575:4:21", + "type": "" + } + ], + "src": "4456:325:21" + }, + { + "body": { + "nativeSrc": "4829:48:21", + "nodeType": "YulBlock", + "src": "4829:48:21", + "statements": [ + { + "nativeSrc": "4839:32:21", + "nodeType": "YulAssignment", + "src": "4839:32:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4864:5:21", + "nodeType": "YulIdentifier", + "src": "4864:5:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4857:6:21", + "nodeType": "YulIdentifier", + "src": "4857:6:21" + }, + "nativeSrc": "4857:13:21", + "nodeType": "YulFunctionCall", + "src": "4857:13:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4850:6:21", + "nodeType": "YulIdentifier", + "src": "4850:6:21" + }, + "nativeSrc": "4850:21:21", + "nodeType": "YulFunctionCall", + "src": "4850:21:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4839:7:21", + "nodeType": "YulIdentifier", + "src": "4839:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "4787:90:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4811:5:21", + "nodeType": "YulTypedName", + "src": "4811:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4821:7:21", + "nodeType": "YulTypedName", + "src": "4821:7:21", + "type": "" + } + ], + "src": "4787:90:21" + }, + { + "body": { + "nativeSrc": "4950:50:21", + "nodeType": "YulBlock", + "src": "4950:50:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4967:3:21", + "nodeType": "YulIdentifier", + "src": "4967:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4987:5:21", + "nodeType": "YulIdentifier", + "src": "4987:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "4972:14:21", + "nodeType": "YulIdentifier", + "src": "4972:14:21" + }, + "nativeSrc": "4972:21:21", + "nodeType": "YulFunctionCall", + "src": "4972:21:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4960:6:21", + "nodeType": "YulIdentifier", + "src": "4960:6:21" + }, + "nativeSrc": "4960:34:21", + "nodeType": "YulFunctionCall", + "src": "4960:34:21" + }, + "nativeSrc": "4960:34:21", + "nodeType": "YulExpressionStatement", + "src": "4960:34:21" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack_library", + "nativeSrc": "4883:117:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4938:5:21", + "nodeType": "YulTypedName", + "src": "4938:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4945:3:21", + "nodeType": "YulTypedName", + "src": "4945:3:21", + "type": "" + } + ], + "src": "4883:117:21" + }, + { + "body": { + "nativeSrc": "5106:126:21", + "nodeType": "YulBlock", + "src": "5106:126:21", + "statements": [ + { + "nativeSrc": "5116:26:21", + "nodeType": "YulAssignment", + "src": "5116:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5128:9:21", + "nodeType": "YulIdentifier", + "src": "5128:9:21" + }, + { + "kind": "number", + "nativeSrc": "5139:2:21", + "nodeType": "YulLiteral", + "src": "5139:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5124:3:21", + "nodeType": "YulIdentifier", + "src": "5124:3:21" + }, + "nativeSrc": "5124:18:21", + "nodeType": "YulFunctionCall", + "src": "5124:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5116:4:21", + "nodeType": "YulIdentifier", + "src": "5116:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5198:6:21", + "nodeType": "YulIdentifier", + "src": "5198:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5211:9:21", + "nodeType": "YulIdentifier", + "src": "5211:9:21" + }, + { + "kind": "number", + "nativeSrc": "5222:1:21", + "nodeType": "YulLiteral", + "src": "5222:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5207:3:21", + "nodeType": "YulIdentifier", + "src": "5207:3:21" + }, + "nativeSrc": "5207:17:21", + "nodeType": "YulFunctionCall", + "src": "5207:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack_library", + "nativeSrc": "5152:45:21", + "nodeType": "YulIdentifier", + "src": "5152:45:21" + }, + "nativeSrc": "5152:73:21", + "nodeType": "YulFunctionCall", + "src": "5152:73:21" + }, + "nativeSrc": "5152:73:21", + "nodeType": "YulExpressionStatement", + "src": "5152:73:21" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed", + "nativeSrc": "5006:226:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5078:9:21", + "nodeType": "YulTypedName", + "src": "5078:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5090:6:21", + "nodeType": "YulTypedName", + "src": "5090:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5101:4:21", + "nodeType": "YulTypedName", + "src": "5101:4:21", + "type": "" + } + ], + "src": "5006:226:21" + }, + { + "body": { + "nativeSrc": "5266:152:21", + "nodeType": "YulBlock", + "src": "5266:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5283:1:21", + "nodeType": "YulLiteral", + "src": "5283:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5286:77:21", + "nodeType": "YulLiteral", + "src": "5286:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5276:6:21", + "nodeType": "YulIdentifier", + "src": "5276:6:21" + }, + "nativeSrc": "5276:88:21", + "nodeType": "YulFunctionCall", + "src": "5276:88:21" + }, + "nativeSrc": "5276:88:21", + "nodeType": "YulExpressionStatement", + "src": "5276:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5380:1:21", + "nodeType": "YulLiteral", + "src": "5380:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5383:4:21", + "nodeType": "YulLiteral", + "src": "5383:4:21", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5373:6:21", + "nodeType": "YulIdentifier", + "src": "5373:6:21" + }, + "nativeSrc": "5373:15:21", + "nodeType": "YulFunctionCall", + "src": "5373:15:21" + }, + "nativeSrc": "5373:15:21", + "nodeType": "YulExpressionStatement", + "src": "5373:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5404:1:21", + "nodeType": "YulLiteral", + "src": "5404:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5407:4:21", + "nodeType": "YulLiteral", + "src": "5407:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5397:6:21", + "nodeType": "YulIdentifier", + "src": "5397:6:21" + }, + "nativeSrc": "5397:15:21", + "nodeType": "YulFunctionCall", + "src": "5397:15:21" + }, + "nativeSrc": "5397:15:21", + "nodeType": "YulExpressionStatement", + "src": "5397:15:21" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "5238:180:21", + "nodeType": "YulFunctionDefinition", + "src": "5238:180:21" + }, + { + "body": { + "nativeSrc": "5467:43:21", + "nodeType": "YulBlock", + "src": "5467:43:21", + "statements": [ + { + "nativeSrc": "5477:27:21", + "nodeType": "YulAssignment", + "src": "5477:27:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5492:5:21", + "nodeType": "YulIdentifier", + "src": "5492:5:21" + }, + { + "kind": "number", + "nativeSrc": "5499:4:21", + "nodeType": "YulLiteral", + "src": "5499:4:21", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5488:3:21", + "nodeType": "YulIdentifier", + "src": "5488:3:21" + }, + "nativeSrc": "5488:16:21", + "nodeType": "YulFunctionCall", + "src": "5488:16:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "5477:7:21", + "nodeType": "YulIdentifier", + "src": "5477:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nativeSrc": "5424:86:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5449:5:21", + "nodeType": "YulTypedName", + "src": "5449:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "5459:7:21", + "nodeType": "YulTypedName", + "src": "5459:7:21", + "type": "" + } + ], + "src": "5424:86:21" + }, + { + "body": { + "nativeSrc": "5544:152:21", + "nodeType": "YulBlock", + "src": "5544:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5561:1:21", + "nodeType": "YulLiteral", + "src": "5561:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5564:77:21", + "nodeType": "YulLiteral", + "src": "5564:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5554:6:21", + "nodeType": "YulIdentifier", + "src": "5554:6:21" + }, + "nativeSrc": "5554:88:21", + "nodeType": "YulFunctionCall", + "src": "5554:88:21" + }, + "nativeSrc": "5554:88:21", + "nodeType": "YulExpressionStatement", + "src": "5554:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5658:1:21", + "nodeType": "YulLiteral", + "src": "5658:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5661:4:21", + "nodeType": "YulLiteral", + "src": "5661:4:21", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5651:6:21", + "nodeType": "YulIdentifier", + "src": "5651:6:21" + }, + "nativeSrc": "5651:15:21", + "nodeType": "YulFunctionCall", + "src": "5651:15:21" + }, + "nativeSrc": "5651:15:21", + "nodeType": "YulExpressionStatement", + "src": "5651:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5682:1:21", + "nodeType": "YulLiteral", + "src": "5682:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5685:4:21", + "nodeType": "YulLiteral", + "src": "5685:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5675:6:21", + "nodeType": "YulIdentifier", + "src": "5675:6:21" + }, + "nativeSrc": "5675:15:21", + "nodeType": "YulFunctionCall", + "src": "5675:15:21" + }, + "nativeSrc": "5675:15:21", + "nodeType": "YulExpressionStatement", + "src": "5675:15:21" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "5516:180:21", + "nodeType": "YulFunctionDefinition", + "src": "5516:180:21" + }, + { + "body": { + "nativeSrc": "5745:148:21", + "nodeType": "YulBlock", + "src": "5745:148:21", + "statements": [ + { + "nativeSrc": "5755:23:21", + "nodeType": "YulAssignment", + "src": "5755:23:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5776:1:21", + "nodeType": "YulIdentifier", + "src": "5776:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "5760:15:21", + "nodeType": "YulIdentifier", + "src": "5760:15:21" + }, + "nativeSrc": "5760:18:21", + "nodeType": "YulFunctionCall", + "src": "5760:18:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "5755:1:21", + "nodeType": "YulIdentifier", + "src": "5755:1:21" + } + ] + }, + { + "nativeSrc": "5787:23:21", + "nodeType": "YulAssignment", + "src": "5787:23:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "5808:1:21", + "nodeType": "YulIdentifier", + "src": "5808:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "5792:15:21", + "nodeType": "YulIdentifier", + "src": "5792:15:21" + }, + "nativeSrc": "5792:18:21", + "nodeType": "YulFunctionCall", + "src": "5792:18:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "5787:1:21", + "nodeType": "YulIdentifier", + "src": "5787:1:21" + } + ] + }, + { + "nativeSrc": "5819:17:21", + "nodeType": "YulAssignment", + "src": "5819:17:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5831:1:21", + "nodeType": "YulIdentifier", + "src": "5831:1:21" + }, + { + "name": "y", + "nativeSrc": "5834:1:21", + "nodeType": "YulIdentifier", + "src": "5834:1:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5827:3:21", + "nodeType": "YulIdentifier", + "src": "5827:3:21" + }, + "nativeSrc": "5827:9:21", + "nodeType": "YulFunctionCall", + "src": "5827:9:21" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "5819:4:21", + "nodeType": "YulIdentifier", + "src": "5819:4:21" + } + ] + }, + { + "body": { + "nativeSrc": "5864:22:21", + "nodeType": "YulBlock", + "src": "5864:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "5866:16:21", + "nodeType": "YulIdentifier", + "src": "5866:16:21" + }, + "nativeSrc": "5866:18:21", + "nodeType": "YulFunctionCall", + "src": "5866:18:21" + }, + "nativeSrc": "5866:18:21", + "nodeType": "YulExpressionStatement", + "src": "5866:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "5852:4:21", + "nodeType": "YulIdentifier", + "src": "5852:4:21" + }, + { + "kind": "number", + "nativeSrc": "5858:4:21", + "nodeType": "YulLiteral", + "src": "5858:4:21", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5849:2:21", + "nodeType": "YulIdentifier", + "src": "5849:2:21" + }, + "nativeSrc": "5849:14:21", + "nodeType": "YulFunctionCall", + "src": "5849:14:21" + }, + "nativeSrc": "5846:40:21", + "nodeType": "YulIf", + "src": "5846:40:21" + } + ] + }, + "name": "checked_sub_t_uint8", + "nativeSrc": "5702:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "5731:1:21", + "nodeType": "YulTypedName", + "src": "5731:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "5734:1:21", + "nodeType": "YulTypedName", + "src": "5734:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "5740:4:21", + "nodeType": "YulTypedName", + "src": "5740:4:21", + "type": "" + } + ], + "src": "5702:191:21" + }, + { + "body": { + "nativeSrc": "5947:362:21", + "nodeType": "YulBlock", + "src": "5947:362:21", + "statements": [ + { + "nativeSrc": "5957:25:21", + "nodeType": "YulAssignment", + "src": "5957:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5980:1:21", + "nodeType": "YulIdentifier", + "src": "5980:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5962:17:21", + "nodeType": "YulIdentifier", + "src": "5962:17:21" + }, + "nativeSrc": "5962:20:21", + "nodeType": "YulFunctionCall", + "src": "5962:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "5957:1:21", + "nodeType": "YulIdentifier", + "src": "5957:1:21" + } + ] + }, + { + "nativeSrc": "5991:25:21", + "nodeType": "YulAssignment", + "src": "5991:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "6014:1:21", + "nodeType": "YulIdentifier", + "src": "6014:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5996:17:21", + "nodeType": "YulIdentifier", + "src": "5996:17:21" + }, + "nativeSrc": "5996:20:21", + "nodeType": "YulFunctionCall", + "src": "5996:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "5991:1:21", + "nodeType": "YulIdentifier", + "src": "5991:1:21" + } + ] + }, + { + "nativeSrc": "6025:28:21", + "nodeType": "YulVariableDeclaration", + "src": "6025:28:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6048:1:21", + "nodeType": "YulIdentifier", + "src": "6048:1:21" + }, + { + "name": "y", + "nativeSrc": "6051:1:21", + "nodeType": "YulIdentifier", + "src": "6051:1:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6044:3:21", + "nodeType": "YulIdentifier", + "src": "6044:3:21" + }, + "nativeSrc": "6044:9:21", + "nodeType": "YulFunctionCall", + "src": "6044:9:21" + }, + "variables": [ + { + "name": "product_raw", + "nativeSrc": "6029:11:21", + "nodeType": "YulTypedName", + "src": "6029:11:21", + "type": "" + } + ] + }, + { + "nativeSrc": "6062:41:21", + "nodeType": "YulAssignment", + "src": "6062:41:21", + "value": { + "arguments": [ + { + "name": "product_raw", + "nativeSrc": "6091:11:21", + "nodeType": "YulIdentifier", + "src": "6091:11:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6073:17:21", + "nodeType": "YulIdentifier", + "src": "6073:17:21" + }, + "nativeSrc": "6073:30:21", + "nodeType": "YulFunctionCall", + "src": "6073:30:21" + }, + "variableNames": [ + { + "name": "product", + "nativeSrc": "6062:7:21", + "nodeType": "YulIdentifier", + "src": "6062:7:21" + } + ] + }, + { + "body": { + "nativeSrc": "6280:22:21", + "nodeType": "YulBlock", + "src": "6280:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "6282:16:21", + "nodeType": "YulIdentifier", + "src": "6282:16:21" + }, + "nativeSrc": "6282:18:21", + "nodeType": "YulFunctionCall", + "src": "6282:18:21" + }, + "nativeSrc": "6282:18:21", + "nodeType": "YulExpressionStatement", + "src": "6282:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "6213:1:21", + "nodeType": "YulIdentifier", + "src": "6213:1:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6206:6:21", + "nodeType": "YulIdentifier", + "src": "6206:6:21" + }, + "nativeSrc": "6206:9:21", + "nodeType": "YulFunctionCall", + "src": "6206:9:21" + }, + { + "arguments": [ + { + "name": "y", + "nativeSrc": "6236:1:21", + "nodeType": "YulIdentifier", + "src": "6236:1:21" + }, + { + "arguments": [ + { + "name": "product", + "nativeSrc": "6243:7:21", + "nodeType": "YulIdentifier", + "src": "6243:7:21" + }, + { + "name": "x", + "nativeSrc": "6252:1:21", + "nodeType": "YulIdentifier", + "src": "6252:1:21" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6239:3:21", + "nodeType": "YulIdentifier", + "src": "6239:3:21" + }, + "nativeSrc": "6239:15:21", + "nodeType": "YulFunctionCall", + "src": "6239:15:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6233:2:21", + "nodeType": "YulIdentifier", + "src": "6233:2:21" + }, + "nativeSrc": "6233:22:21", + "nodeType": "YulFunctionCall", + "src": "6233:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6186:2:21", + "nodeType": "YulIdentifier", + "src": "6186:2:21" + }, + "nativeSrc": "6186:83:21", + "nodeType": "YulFunctionCall", + "src": "6186:83:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6166:6:21", + "nodeType": "YulIdentifier", + "src": "6166:6:21" + }, + "nativeSrc": "6166:113:21", + "nodeType": "YulFunctionCall", + "src": "6166:113:21" + }, + "nativeSrc": "6163:139:21", + "nodeType": "YulIf", + "src": "6163:139:21" + } + ] + }, + "name": "checked_mul_t_uint256", + "nativeSrc": "5899:410:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "5930:1:21", + "nodeType": "YulTypedName", + "src": "5930:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "5933:1:21", + "nodeType": "YulTypedName", + "src": "5933:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nativeSrc": "5939:7:21", + "nodeType": "YulTypedName", + "src": "5939:7:21", + "type": "" + } + ], + "src": "5899:410:21" + }, + { + "body": { + "nativeSrc": "6359:147:21", + "nodeType": "YulBlock", + "src": "6359:147:21", + "statements": [ + { + "nativeSrc": "6369:25:21", + "nodeType": "YulAssignment", + "src": "6369:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6392:1:21", + "nodeType": "YulIdentifier", + "src": "6392:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6374:17:21", + "nodeType": "YulIdentifier", + "src": "6374:17:21" + }, + "nativeSrc": "6374:20:21", + "nodeType": "YulFunctionCall", + "src": "6374:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "6369:1:21", + "nodeType": "YulIdentifier", + "src": "6369:1:21" + } + ] + }, + { + "nativeSrc": "6403:25:21", + "nodeType": "YulAssignment", + "src": "6403:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "6426:1:21", + "nodeType": "YulIdentifier", + "src": "6426:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6408:17:21", + "nodeType": "YulIdentifier", + "src": "6408:17:21" + }, + "nativeSrc": "6408:20:21", + "nodeType": "YulFunctionCall", + "src": "6408:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "6403:1:21", + "nodeType": "YulIdentifier", + "src": "6403:1:21" + } + ] + }, + { + "nativeSrc": "6437:16:21", + "nodeType": "YulAssignment", + "src": "6437:16:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6448:1:21", + "nodeType": "YulIdentifier", + "src": "6448:1:21" + }, + { + "name": "y", + "nativeSrc": "6451:1:21", + "nodeType": "YulIdentifier", + "src": "6451:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6444:3:21", + "nodeType": "YulIdentifier", + "src": "6444:3:21" + }, + "nativeSrc": "6444:9:21", + "nodeType": "YulFunctionCall", + "src": "6444:9:21" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "6437:3:21", + "nodeType": "YulIdentifier", + "src": "6437:3:21" + } + ] + }, + { + "body": { + "nativeSrc": "6477:22:21", + "nodeType": "YulBlock", + "src": "6477:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "6479:16:21", + "nodeType": "YulIdentifier", + "src": "6479:16:21" + }, + "nativeSrc": "6479:18:21", + "nodeType": "YulFunctionCall", + "src": "6479:18:21" + }, + "nativeSrc": "6479:18:21", + "nodeType": "YulExpressionStatement", + "src": "6479:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6469:1:21", + "nodeType": "YulIdentifier", + "src": "6469:1:21" + }, + { + "name": "sum", + "nativeSrc": "6472:3:21", + "nodeType": "YulIdentifier", + "src": "6472:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6466:2:21", + "nodeType": "YulIdentifier", + "src": "6466:2:21" + }, + "nativeSrc": "6466:10:21", + "nodeType": "YulFunctionCall", + "src": "6466:10:21" + }, + "nativeSrc": "6463:36:21", + "nodeType": "YulIf", + "src": "6463:36:21" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "6315:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "6346:1:21", + "nodeType": "YulTypedName", + "src": "6346:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "6349:1:21", + "nodeType": "YulTypedName", + "src": "6349:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "6355:3:21", + "nodeType": "YulTypedName", + "src": "6355:3:21", + "type": "" + } + ], + "src": "6315:191:21" + }, + { + "body": { + "nativeSrc": "6608:73:21", + "nodeType": "YulBlock", + "src": "6608:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6625:3:21", + "nodeType": "YulIdentifier", + "src": "6625:3:21" + }, + { + "name": "length", + "nativeSrc": "6630:6:21", + "nodeType": "YulIdentifier", + "src": "6630:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6618:6:21", + "nodeType": "YulIdentifier", + "src": "6618:6:21" + }, + "nativeSrc": "6618:19:21", + "nodeType": "YulFunctionCall", + "src": "6618:19:21" + }, + "nativeSrc": "6618:19:21", + "nodeType": "YulExpressionStatement", + "src": "6618:19:21" + }, + { + "nativeSrc": "6646:29:21", + "nodeType": "YulAssignment", + "src": "6646:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6665:3:21", + "nodeType": "YulIdentifier", + "src": "6665:3:21" + }, + { + "kind": "number", + "nativeSrc": "6670:4:21", + "nodeType": "YulLiteral", + "src": "6670:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6661:3:21", + "nodeType": "YulIdentifier", + "src": "6661:3:21" + }, + "nativeSrc": "6661:14:21", + "nodeType": "YulFunctionCall", + "src": "6661:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "6646:11:21", + "nodeType": "YulIdentifier", + "src": "6646:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "6512:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6580:3:21", + "nodeType": "YulTypedName", + "src": "6580:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6585:6:21", + "nodeType": "YulTypedName", + "src": "6585:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "6596:11:21", + "nodeType": "YulTypedName", + "src": "6596:11:21", + "type": "" + } + ], + "src": "6512:169:21" + }, + { + "body": { + "nativeSrc": "6793:67:21", + "nodeType": "YulBlock", + "src": "6793:67:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6815:6:21", + "nodeType": "YulIdentifier", + "src": "6815:6:21" + }, + { + "kind": "number", + "nativeSrc": "6823:1:21", + "nodeType": "YulLiteral", + "src": "6823:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6811:3:21", + "nodeType": "YulIdentifier", + "src": "6811:3:21" + }, + "nativeSrc": "6811:14:21", + "nodeType": "YulFunctionCall", + "src": "6811:14:21" + }, + { + "hexValue": "4e6f206e756d657269632073756666697820666f756e64", + "kind": "string", + "nativeSrc": "6827:25:21", + "nodeType": "YulLiteral", + "src": "6827:25:21", + "type": "", + "value": "No numeric suffix found" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6804:6:21", + "nodeType": "YulIdentifier", + "src": "6804:6:21" + }, + "nativeSrc": "6804:49:21", + "nodeType": "YulFunctionCall", + "src": "6804:49:21" + }, + "nativeSrc": "6804:49:21", + "nodeType": "YulExpressionStatement", + "src": "6804:49:21" + } + ] + }, + "name": "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "nativeSrc": "6687:173:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6785:6:21", + "nodeType": "YulTypedName", + "src": "6785:6:21", + "type": "" + } + ], + "src": "6687:173:21" + }, + { + "body": { + "nativeSrc": "7012:220:21", + "nodeType": "YulBlock", + "src": "7012:220:21", + "statements": [ + { + "nativeSrc": "7022:74:21", + "nodeType": "YulAssignment", + "src": "7022:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7088:3:21", + "nodeType": "YulIdentifier", + "src": "7088:3:21" + }, + { + "kind": "number", + "nativeSrc": "7093:2:21", + "nodeType": "YulLiteral", + "src": "7093:2:21", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7029:58:21", + "nodeType": "YulIdentifier", + "src": "7029:58:21" + }, + "nativeSrc": "7029:67:21", + "nodeType": "YulFunctionCall", + "src": "7029:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7022:3:21", + "nodeType": "YulIdentifier", + "src": "7022:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7194:3:21", + "nodeType": "YulIdentifier", + "src": "7194:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "nativeSrc": "7105:88:21", + "nodeType": "YulIdentifier", + "src": "7105:88:21" + }, + "nativeSrc": "7105:93:21", + "nodeType": "YulFunctionCall", + "src": "7105:93:21" + }, + "nativeSrc": "7105:93:21", + "nodeType": "YulExpressionStatement", + "src": "7105:93:21" + }, + { + "nativeSrc": "7207:19:21", + "nodeType": "YulAssignment", + "src": "7207:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7218:3:21", + "nodeType": "YulIdentifier", + "src": "7218:3:21" + }, + { + "kind": "number", + "nativeSrc": "7223:2:21", + "nodeType": "YulLiteral", + "src": "7223:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7214:3:21", + "nodeType": "YulIdentifier", + "src": "7214:3:21" + }, + "nativeSrc": "7214:12:21", + "nodeType": "YulFunctionCall", + "src": "7214:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7207:3:21", + "nodeType": "YulIdentifier", + "src": "7207:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6866:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7000:3:21", + "nodeType": "YulTypedName", + "src": "7000:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7008:3:21", + "nodeType": "YulTypedName", + "src": "7008:3:21", + "type": "" + } + ], + "src": "6866:366:21" + }, + { + "body": { + "nativeSrc": "7409:248:21", + "nodeType": "YulBlock", + "src": "7409:248:21", + "statements": [ + { + "nativeSrc": "7419:26:21", + "nodeType": "YulAssignment", + "src": "7419:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7431:9:21", + "nodeType": "YulIdentifier", + "src": "7431:9:21" + }, + { + "kind": "number", + "nativeSrc": "7442:2:21", + "nodeType": "YulLiteral", + "src": "7442:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7427:3:21", + "nodeType": "YulIdentifier", + "src": "7427:3:21" + }, + "nativeSrc": "7427:18:21", + "nodeType": "YulFunctionCall", + "src": "7427:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7419:4:21", + "nodeType": "YulIdentifier", + "src": "7419:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7466:9:21", + "nodeType": "YulIdentifier", + "src": "7466:9:21" + }, + { + "kind": "number", + "nativeSrc": "7477:1:21", + "nodeType": "YulLiteral", + "src": "7477:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7462:3:21", + "nodeType": "YulIdentifier", + "src": "7462:3:21" + }, + "nativeSrc": "7462:17:21", + "nodeType": "YulFunctionCall", + "src": "7462:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7485:4:21", + "nodeType": "YulIdentifier", + "src": "7485:4:21" + }, + { + "name": "headStart", + "nativeSrc": "7491:9:21", + "nodeType": "YulIdentifier", + "src": "7491:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7481:3:21", + "nodeType": "YulIdentifier", + "src": "7481:3:21" + }, + "nativeSrc": "7481:20:21", + "nodeType": "YulFunctionCall", + "src": "7481:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7455:6:21", + "nodeType": "YulIdentifier", + "src": "7455:6:21" + }, + "nativeSrc": "7455:47:21", + "nodeType": "YulFunctionCall", + "src": "7455:47:21" + }, + "nativeSrc": "7455:47:21", + "nodeType": "YulExpressionStatement", + "src": "7455:47:21" + }, + { + "nativeSrc": "7511:139:21", + "nodeType": "YulAssignment", + "src": "7511:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7645:4:21", + "nodeType": "YulIdentifier", + "src": "7645:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7519:124:21", + "nodeType": "YulIdentifier", + "src": "7519:124:21" + }, + "nativeSrc": "7519:131:21", + "nodeType": "YulFunctionCall", + "src": "7519:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7511:4:21", + "nodeType": "YulIdentifier", + "src": "7511:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "7238:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7389:9:21", + "nodeType": "YulTypedName", + "src": "7389:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7404:4:21", + "nodeType": "YulTypedName", + "src": "7404:4:21", + "type": "" + } + ], + "src": "7238:419:21" + }, + { + "body": { + "nativeSrc": "7706:190:21", + "nodeType": "YulBlock", + "src": "7706:190:21", + "statements": [ + { + "nativeSrc": "7716:33:21", + "nodeType": "YulAssignment", + "src": "7716:33:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7743:5:21", + "nodeType": "YulIdentifier", + "src": "7743:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7725:17:21", + "nodeType": "YulIdentifier", + "src": "7725:17:21" + }, + "nativeSrc": "7725:24:21", + "nodeType": "YulFunctionCall", + "src": "7725:24:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "7716:5:21", + "nodeType": "YulIdentifier", + "src": "7716:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "7839:22:21", + "nodeType": "YulBlock", + "src": "7839:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "7841:16:21", + "nodeType": "YulIdentifier", + "src": "7841:16:21" + }, + "nativeSrc": "7841:18:21", + "nodeType": "YulFunctionCall", + "src": "7841:18:21" + }, + "nativeSrc": "7841:18:21", + "nodeType": "YulExpressionStatement", + "src": "7841:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7764:5:21", + "nodeType": "YulIdentifier", + "src": "7764:5:21" + }, + { + "kind": "number", + "nativeSrc": "7771:66:21", + "nodeType": "YulLiteral", + "src": "7771:66:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "7761:2:21", + "nodeType": "YulIdentifier", + "src": "7761:2:21" + }, + "nativeSrc": "7761:77:21", + "nodeType": "YulFunctionCall", + "src": "7761:77:21" + }, + "nativeSrc": "7758:103:21", + "nodeType": "YulIf", + "src": "7758:103:21" + }, + { + "nativeSrc": "7870:20:21", + "nodeType": "YulAssignment", + "src": "7870:20:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7881:5:21", + "nodeType": "YulIdentifier", + "src": "7881:5:21" + }, + { + "kind": "number", + "nativeSrc": "7888:1:21", + "nodeType": "YulLiteral", + "src": "7888:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7877:3:21", + "nodeType": "YulIdentifier", + "src": "7877:3:21" + }, + "nativeSrc": "7877:13:21", + "nodeType": "YulFunctionCall", + "src": "7877:13:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7870:3:21", + "nodeType": "YulIdentifier", + "src": "7870:3:21" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "7663:233:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7692:5:21", + "nodeType": "YulTypedName", + "src": "7692:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7702:3:21", + "nodeType": "YulTypedName", + "src": "7702:3:21", + "type": "" + } + ], + "src": "7663:233:21" + } + ] + }, + "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_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\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 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_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\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_with_cleanup(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 function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\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_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\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 mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack_library(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint8(x, y) -> diff {\n x := cleanup_t_uint8(x)\n y := cleanup_t_uint8(y)\n diff := sub(x, y)\n\n if gt(diff, 0xff) { panic_error_0x11() }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46(memPtr) {\n\n mstore(add(memPtr, 0), \"No numeric suffix found\")\n\n }\n\n function abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DEA91D EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x4062ACE3 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0x94BC2DB6 EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0xE5C4CF73 EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x11B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x1BE JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP PUSH1 0x30 DUP2 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x16C JUMPI POP PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x30 DUP2 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x78A JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA DUP6 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP4 POP PUSH1 0x1 SWAP3 POP PUSH2 0x1B0 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x1AF JUMPI POP PUSH2 0x1BE JUMP JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x126 JUMP JUMPDEST POP DUP1 PUSH2 0x1FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x231 JUMPI PUSH2 0x230 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP2 SUB PUSH2 0x252 JUMPI POP PUSH2 0x280 JUMP JUMPDEST DUP3 DUP1 PUSH2 0x25D SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x1 DUP2 PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP3 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x213 JUMP JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP DUP2 DUP1 PUSH2 0x2BD SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DF JUMPI PUSH2 0x2DE PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x311 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x39A JUMPI DUP6 DUP2 DUP6 PUSH2 0x32F SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x340 JUMPI PUSH2 0x33F PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x35E JUMPI PUSH2 0x35D PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x466 JUMPI PUSH1 0x30 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3CF JUMPI PUSH2 0x3CE PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND LT DUP1 PUSH2 0x44A JUMPI POP PUSH1 0x39 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND GT JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x46C JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3AE JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP2 SWAP1 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 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 0x4D8 DUP3 PUSH2 0x48F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4F7 JUMPI PUSH2 0x4F6 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50A PUSH2 0x471 JUMP JUMPDEST SWAP1 POP PUSH2 0x516 DUP3 DUP3 PUSH2 0x4CF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x536 JUMPI PUSH2 0x535 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F DUP3 PUSH2 0x48F 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 0x56E PUSH2 0x569 DUP5 PUSH2 0x51B JUMP JUMPDEST PUSH2 0x500 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x58A JUMPI PUSH2 0x589 PUSH2 0x48A JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP5 DUP3 DUP6 PUSH2 0x54C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5B2 JUMPI PUSH2 0x5B1 PUSH2 0x485 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5C2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x55B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E1 JUMPI PUSH2 0x5E0 PUSH2 0x47B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5FF JUMPI PUSH2 0x5FE PUSH2 0x480 JUMP JUMPDEST JUMPDEST PUSH2 0x60B DUP5 DUP3 DUP6 ADD PUSH2 0x59D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x627 DUP2 PUSH2 0x614 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x61E JUMP JUMPDEST SWAP3 SWAP2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x682 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x667 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 DUP3 PUSH2 0x648 JUMP JUMPDEST PUSH2 0x6A3 DUP2 DUP6 PUSH2 0x653 JUMP JUMPDEST SWAP4 POP PUSH2 0x6B3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x664 JUMP JUMPDEST PUSH2 0x6BC DUP2 PUSH2 0x48F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6E1 DUP2 DUP5 PUSH2 0x68E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FE DUP2 PUSH2 0x6E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x795 DUP3 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7A0 DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D5 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x7E3 DUP2 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x7FA JUMPI PUSH2 0x7F9 PUSH2 0x75B JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80C DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x817 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x82F JUMPI PUSH2 0x82E PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F206E756D657269632073756666697820666F756E64000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x87C PUSH1 0x17 DUP4 PUSH2 0x835 JUMP JUMPDEST SWAP2 POP PUSH2 0x887 DUP3 PUSH2 0x846 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8AB DUP2 PUSH2 0x86F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BD DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x8EF JUMPI PUSH2 0x8EE PUSH2 0x75B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED PUSH11 0x9E0A1DC1E9B8EB0165073E BLOBHASH EXTCODESIZE INVALID DUP12 TSTORE 0xEC PUSH16 0x75F400AA83268538B52161F964736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "159:2436:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;873:667;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2200:393;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;342:365;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1695:326;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;873:667;960:7;979:11;993:1;979:15;;1004:14;1042:9;1037:421;1061:5;:12;1057:1;:16;1037:421;;;1094:10;1113:5;1119:1;1113:8;;;;;;;;:::i;:::-;;;;;;;;;;1107:15;;1094:28;;1148:2;1140:4;:10;;;;:24;;;;;1162:2;1154:4;:10;;;;1140:24;1136:312;;;1262:2;1255:4;:9;;;;:::i;:::-;1243:22;;1249:2;1243:3;:8;;;;:::i;:::-;:22;;;;:::i;:::-;1237:28;;1295:4;1283:16;;1136:312;;;1324:9;1320:128;;;1428:5;;;1320:128;1136:312;1080:378;1075:3;;;;;;;1037:421;;;;1476:9;1468:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1530:3;1523:10;;;;873:667;;;:::o;2200:393::-;2262:4;2278:10;2291:1;2278:14;;2302:6;2323:241;2334:5;:12;2330:1;:16;2323:241;;;2362:16;2392:5;2398:1;2392:8;;;;;;;;:::i;:::-;;;;;;;;;;2386:15;;2381:21;;2362:40;;2435:1;2420:11;:16;2416:83;;2456:5;;;2416:83;2512:7;;;;;:::i;:::-;;;;2552:1;2538:11;:15;;;;:::i;:::-;2533:20;;;;;:::i;:::-;;;2348:216;2323:241;;;2581:5;2574:12;;;;2200:393;;;:::o;342:365::-;425:12;449:11;474:17;500:4;505:3;500:9;;;;;;;;:::i;:::-;;;;;;;;;;494:16;;474:36;;520:5;;;;;:::i;:::-;;;;535:18;566:11;556:22;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:43;;593:9;588:91;612:11;608:15;;:1;:15;588:91;;;655:4;666:1;660:3;:7;;;;:::i;:::-;655:13;;;;;;;;:::i;:::-;;;;;;;;;;644:5;650:1;644:8;;;;;;;;:::i;:::-;;;;;:24;;;;;;;;;;;625:3;;;;;;;588:91;;;;695:5;688:12;;;;;342:365;;;:::o;1695:326::-;1754:4;1775:6;1784:1;1775:10;;1770:224;1791:5;:12;1787:1;:16;1770:224;;;1914:4;1903:15;;:5;1909:1;1903:8;;;;;;;;:::i;:::-;;;;;;;;;;:15;;;;:34;;;;1933:4;1922:15;;:5;1928:1;1922:8;;;;;;;;:::i;:::-;;;;;;;;;;:15;;;;1903:34;1899:85;;;1964:5;1957:12;;;;;1899:85;1805:3;;;;;;;1770:224;;;;2010:4;2003:11;;1695:326;;;;:::o;7:75:21:-;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:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:148::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1609:148;;;:::o;1763:423::-;1840:5;1865:65;1881:48;1922:6;1881:48;:::i;:::-;1865:65;:::i;:::-;1856:74;;1953:6;1946:5;1939:21;1991:4;1984:5;1980:16;2029:3;2020:6;2015:3;2011:16;2008:25;2005:112;;;2036:79;;:::i;:::-;2005:112;2126:54;2173:6;2168:3;2163;2126:54;:::i;:::-;1846:340;1763:423;;;;;:::o;2205:338::-;2260:5;2309:3;2302:4;2294:6;2290:17;2286:27;2276:122;;2317:79;;:::i;:::-;2276:122;2434:6;2421:20;2459:78;2533:3;2525:6;2518:4;2510:6;2506:17;2459:78;:::i;:::-;2450:87;;2266:277;2205:338;;;;:::o;2549:507::-;2617:6;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2820:1;2809:9;2805:17;2792:31;2850:18;2842:6;2839:30;2836:117;;;2872:79;;:::i;:::-;2836:117;2977:62;3031:7;3022:6;3011:9;3007:22;2977:62;:::i;:::-;2967:72;;2763:286;2549:507;;;;:::o;3062:77::-;3099:7;3128:5;3117:16;;3062:77;;;:::o;3145:126::-;3240:24;3258:5;3240:24;:::i;:::-;3235:3;3228:37;3145:126;;:::o;3277:238::-;3378:4;3416:2;3405:9;3401:18;3393:26;;3429:79;3505:1;3494:9;3490:17;3481:6;3429:79;:::i;:::-;3277:238;;;;:::o;3521:98::-;3572:6;3606:5;3600:12;3590:22;;3521:98;;;:::o;3625:176::-;3716:11;3750:6;3745:3;3738:19;3790:4;3785:3;3781:14;3766:29;;3625:176;;;;:::o;3807:248::-;3889:1;3899:113;3913:6;3910:1;3907:13;3899:113;;;3998:1;3993:3;3989:11;3983:18;3979:1;3974:3;3970:11;3963:39;3935:2;3932:1;3928:10;3923:15;;3899:113;;;4046:1;4037:6;4032:3;4028:16;4021:27;3869:186;3807:248;;;:::o;4061:389::-;4155:3;4183:38;4215:5;4183:38;:::i;:::-;4237:78;4308:6;4303:3;4237:78;:::i;:::-;4230:85;;4324:65;4382:6;4377:3;4370:4;4363:5;4359:16;4324:65;:::i;:::-;4414:29;4436:6;4414:29;:::i;:::-;4409:3;4405:39;4398:46;;4159:291;4061:389;;;;:::o;4456:325::-;4575:4;4613:2;4602:9;4598:18;4590:26;;4662:9;4656:4;4652:20;4648:1;4637:9;4633:17;4626:47;4690:84;4769:4;4760:6;4690:84;:::i;:::-;4682:92;;4456:325;;;;:::o;4787:90::-;4821:7;4864:5;4857:13;4850:21;4839:32;;4787:90;;;:::o;4883:117::-;4972:21;4987:5;4972:21;:::i;:::-;4967:3;4960:34;4883:117;;:::o;5006:226::-;5101:4;5139:2;5128:9;5124:18;5116:26;;5152:73;5222:1;5211:9;5207:17;5198:6;5152:73;:::i;:::-;5006:226;;;;:::o;5238:180::-;5286:77;5283:1;5276:88;5383:4;5380:1;5373:15;5407:4;5404:1;5397:15;5424:86;5459:7;5499:4;5492:5;5488:16;5477:27;;5424:86;;;:::o;5516:180::-;5564:77;5561:1;5554:88;5661:4;5658:1;5651:15;5685:4;5682:1;5675:15;5702:191;5740:4;5760:18;5776:1;5760:18;:::i;:::-;5755:23;;5792:18;5808:1;5792:18;:::i;:::-;5787:23;;5834:1;5831;5827:9;5819:17;;5858:4;5852;5849:14;5846:40;;;5866:18;;:::i;:::-;5846:40;5702:191;;;;:::o;5899:410::-;5939:7;5962:20;5980:1;5962:20;:::i;:::-;5957:25;;5996:20;6014:1;5996:20;:::i;:::-;5991:25;;6051:1;6048;6044:9;6073:30;6091:11;6073:30;:::i;:::-;6062:41;;6252:1;6243:7;6239:15;6236:1;6233:22;6213:1;6206:9;6186:83;6163:139;;6282:18;;:::i;:::-;6163:139;5947:362;5899:410;;;;:::o;6315:191::-;6355:3;6374:20;6392:1;6374:20;:::i;:::-;6369:25;;6408:20;6426:1;6408:20;:::i;:::-;6403:25;;6451:1;6448;6444:9;6437:16;;6472:3;6469:1;6466:10;6463:36;;;6479:18;;:::i;:::-;6463:36;6315:191;;;;:::o;6512:169::-;6596:11;6630:6;6625:3;6618:19;6670:4;6665:3;6661:14;6646:29;;6512:169;;;;:::o;6687:173::-;6827:25;6823:1;6815:6;6811:14;6804:49;6687:173;:::o;6866:366::-;7008:3;7029:67;7093:2;7088:3;7029:67;:::i;:::-;7022:74;;7105:93;7194:3;7105:93;:::i;:::-;7223:2;7218:3;7214:12;7207:19;;6866:366;;;:::o;7238:419::-;7404:4;7442:2;7431:9;7427:18;7419:26;;7491:9;7485:4;7481:20;7477:1;7466:9;7462:17;7455:47;7519:131;7645:4;7519:131;:::i;:::-;7511:139;;7238:419;;;:::o;7663:233::-;7702:3;7725:24;7743:5;7725:24;:::i;:::-;7716:33;;7771:66;7764:5;7761:77;7758:103;;7841:18;;:::i;:::-;7758:103;7888:1;7881:5;7877:13;7870:20;;7663:233;;;:::o" + }, + "methodIdentifiers": { + "countLabels(bytes)": "4062ace3", + "extractFirstLabel(bytes)": "94bc2db6", + "extractNumericSuffix(bytes)": "08dea91d", + "isNumber(bytes)": "e5c4cf73" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"countLabels\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"extractFirstLabel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"label\",\"type\":\"bytes\"}],\"name\":\"extractNumericSuffix\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"isNumber\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"ConsenSys Software Inc.\",\"kind\":\"dev\",\"methods\":{\"countLabels(bytes)\":{\"params\":{\"input\":\"the DNS encoded input to count from\"},\"returns\":{\"_0\":\"number labels found\"}},\"extractFirstLabel(bytes)\":{\"params\":{\"name\":\"the dns encoded ENS domain\"},\"returns\":{\"_0\":\"label as bytes\"}},\"extractNumericSuffix(bytes)\":{\"params\":{\"label\":\"the dns encoded label\"},\"returns\":{\"_0\":\"number the numeric suffix\"}},\"isNumber(bytes)\":{\"params\":{\"input\":\"bytes to check\"},\"returns\":{\"_0\":\"true if number, false otherwise\"}}},\"title\":\"Library to perform ENS label manipulation\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"countLabels(bytes)\":{\"notice\":\"Counts the number of labels in the DNS encoded input given\"},\"extractFirstLabel(bytes)\":{\"notice\":\"Extract the first label name from a dns encoded ens domain\"},\"extractNumericSuffix(bytes)\":{\"notice\":\"Extract the numeric suffix from the dns encoded label\"},\"isNumber(bytes)\":{\"notice\":\"Check if the bytes param is a number or not\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/LabelUtils.sol\":\"LabelUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/LabelUtils.sol\":{\"keccak256\":\"0x6eb7a06a5619e65e4e184f6e1971d401d856ff82d8ad997759646229ddbf4582\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ecb649dbb8d22339c9358af1116c8bab85598adf2e7c97fd771bb8c08f89e799\",\"dweb:/ipfs/QmarNdSN4VtMWrwcP6QAZHCQsqZHj8BNNBG3KKQYDYUcuY\"]}},\"version\":1}" + } + }, + "contracts/NFTResolver.sol": { + "NFTResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "contract IEVMVerifier", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + }, + { + "internalType": "contract INameWrapper", + "name": "_nameWrapper", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_l2ChainId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "CommandTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + } + ], + "name": "ResponseLengthMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "StorageHandledByL2", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "TooManyCommands", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "BaseNodeResolverSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "TargetAddrSlotSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "TargetSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "values", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "addrCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "extractNFTId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getAcceptedL2BlockRangeLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "response", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extradata", + "type": "bytes" + } + ], + "name": "getStorageSlotsCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "getTarget", + "outputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nameWrapper", + "outputs": [ + { + "internalType": "contract INameWrapper", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "resolve", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "setBaseNodeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "setTarget", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "setTargetAddrSlot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "verifier", + "outputs": [ + { + "internalType": "contract IEVMVerifier", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_3474": { + "entryPoint": null, + "id": 3474, + "parameterSlots": 4, + "returnSlots": 0 + }, + "abi_decode_t_contract$_ENS_$1030_fromMemory": { + "entryPoint": 715, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory": { + "entryPoint": 653, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_INameWrapper_$2401_fromMemory": { + "entryPoint": 777, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 831, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory": { + "entryPoint": 852, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1121, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1229, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1013, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1156, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1264, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1048, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 955, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 594, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_ENS_$1030": { + "entryPoint": 674, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEVMVerifier_$798": { + "entryPoint": 612, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_INameWrapper_$2401": { + "entryPoint": 736, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 562, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 798, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 557, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f": { + "entryPoint": 1080, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60": { + "entryPoint": 1188, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766": { + "entryPoint": 972, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_ENS_$1030": { + "entryPoint": 692, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEVMVerifier_$798": { + "entryPoint": 630, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_INameWrapper_$2401": { + "entryPoint": 754, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 808, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:6381:21", + "nodeType": "YulBlock", + "src": "0:6381:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "379:81:21", + "nodeType": "YulBlock", + "src": "379:81:21", + "statements": [ + { + "nativeSrc": "389:65:21", + "nodeType": "YulAssignment", + "src": "389:65:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:21", + "nodeType": "YulIdentifier", + "src": "404:5:21" + }, + { + "kind": "number", + "nativeSrc": "411:42:21", + "nodeType": "YulLiteral", + "src": "411:42:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:21", + "nodeType": "YulIdentifier", + "src": "400:3:21" + }, + "nativeSrc": "400:54:21", + "nodeType": "YulFunctionCall", + "src": "400:54:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:21", + "nodeType": "YulIdentifier", + "src": "389:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:21", + "nodeType": "YulTypedName", + "src": "361:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:21", + "nodeType": "YulTypedName", + "src": "371:7:21", + "type": "" + } + ], + "src": "334:126:21" + }, + { + "body": { + "nativeSrc": "511:51:21", + "nodeType": "YulBlock", + "src": "511:51:21", + "statements": [ + { + "nativeSrc": "521:35:21", + "nodeType": "YulAssignment", + "src": "521:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:21", + "nodeType": "YulIdentifier", + "src": "550:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:21", + "nodeType": "YulIdentifier", + "src": "532:17:21" + }, + "nativeSrc": "532:24:21", + "nodeType": "YulFunctionCall", + "src": "532:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:21", + "nodeType": "YulIdentifier", + "src": "521:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:21", + "nodeType": "YulTypedName", + "src": "493:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:21", + "nodeType": "YulTypedName", + "src": "503:7:21", + "type": "" + } + ], + "src": "466:96:21" + }, + { + "body": { + "nativeSrc": "633:51:21", + "nodeType": "YulBlock", + "src": "633:51:21", + "statements": [ + { + "nativeSrc": "643:35:21", + "nodeType": "YulAssignment", + "src": "643:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "672:5:21", + "nodeType": "YulIdentifier", + "src": "672:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "654:17:21", + "nodeType": "YulIdentifier", + "src": "654:17:21" + }, + "nativeSrc": "654:24:21", + "nodeType": "YulFunctionCall", + "src": "654:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "643:7:21", + "nodeType": "YulIdentifier", + "src": "643:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "568:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "615:5:21", + "nodeType": "YulTypedName", + "src": "615:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "625:7:21", + "nodeType": "YulTypedName", + "src": "625:7:21", + "type": "" + } + ], + "src": "568:116:21" + }, + { + "body": { + "nativeSrc": "753:99:21", + "nodeType": "YulBlock", + "src": "753:99:21", + "statements": [ + { + "body": { + "nativeSrc": "830:16:21", + "nodeType": "YulBlock", + "src": "830:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "839:1:21", + "nodeType": "YulLiteral", + "src": "839:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "842:1:21", + "nodeType": "YulLiteral", + "src": "842:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "832:6:21", + "nodeType": "YulIdentifier", + "src": "832:6:21" + }, + "nativeSrc": "832:12:21", + "nodeType": "YulFunctionCall", + "src": "832:12:21" + }, + "nativeSrc": "832:12:21", + "nodeType": "YulExpressionStatement", + "src": "832:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "776:5:21", + "nodeType": "YulIdentifier", + "src": "776:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "821:5:21", + "nodeType": "YulIdentifier", + "src": "821:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "783:37:21", + "nodeType": "YulIdentifier", + "src": "783:37:21" + }, + "nativeSrc": "783:44:21", + "nodeType": "YulFunctionCall", + "src": "783:44:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "773:2:21", + "nodeType": "YulIdentifier", + "src": "773:2:21" + }, + "nativeSrc": "773:55:21", + "nodeType": "YulFunctionCall", + "src": "773:55:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "766:6:21", + "nodeType": "YulIdentifier", + "src": "766:6:21" + }, + "nativeSrc": "766:63:21", + "nodeType": "YulFunctionCall", + "src": "766:63:21" + }, + "nativeSrc": "763:83:21", + "nodeType": "YulIf", + "src": "763:83:21" + } + ] + }, + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "690:162:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "746:5:21", + "nodeType": "YulTypedName", + "src": "746:5:21", + "type": "" + } + ], + "src": "690:162:21" + }, + { + "body": { + "nativeSrc": "941:100:21", + "nodeType": "YulBlock", + "src": "941:100:21", + "statements": [ + { + "nativeSrc": "951:22:21", + "nodeType": "YulAssignment", + "src": "951:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "966:6:21", + "nodeType": "YulIdentifier", + "src": "966:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "960:5:21", + "nodeType": "YulIdentifier", + "src": "960:5:21" + }, + "nativeSrc": "960:13:21", + "nodeType": "YulFunctionCall", + "src": "960:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "951:5:21", + "nodeType": "YulIdentifier", + "src": "951:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1029:5:21", + "nodeType": "YulIdentifier", + "src": "1029:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "982:46:21", + "nodeType": "YulIdentifier", + "src": "982:46:21" + }, + "nativeSrc": "982:53:21", + "nodeType": "YulFunctionCall", + "src": "982:53:21" + }, + "nativeSrc": "982:53:21", + "nodeType": "YulExpressionStatement", + "src": "982:53:21" + } + ] + }, + "name": "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory", + "nativeSrc": "858:183:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "919:6:21", + "nodeType": "YulTypedName", + "src": "919:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "927:3:21", + "nodeType": "YulTypedName", + "src": "927:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "935:5:21", + "nodeType": "YulTypedName", + "src": "935:5:21", + "type": "" + } + ], + "src": "858:183:21" + }, + { + "body": { + "nativeSrc": "1104:51:21", + "nodeType": "YulBlock", + "src": "1104:51:21", + "statements": [ + { + "nativeSrc": "1114:35:21", + "nodeType": "YulAssignment", + "src": "1114:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1143:5:21", + "nodeType": "YulIdentifier", + "src": "1143:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1125:17:21", + "nodeType": "YulIdentifier", + "src": "1125:17:21" + }, + "nativeSrc": "1125:24:21", + "nodeType": "YulFunctionCall", + "src": "1125:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1114:7:21", + "nodeType": "YulIdentifier", + "src": "1114:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_ENS_$1030", + "nativeSrc": "1047:108:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1086:5:21", + "nodeType": "YulTypedName", + "src": "1086:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1096:7:21", + "nodeType": "YulTypedName", + "src": "1096:7:21", + "type": "" + } + ], + "src": "1047:108:21" + }, + { + "body": { + "nativeSrc": "1216:91:21", + "nodeType": "YulBlock", + "src": "1216:91:21", + "statements": [ + { + "body": { + "nativeSrc": "1285:16:21", + "nodeType": "YulBlock", + "src": "1285:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1294:1:21", + "nodeType": "YulLiteral", + "src": "1294:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1297:1:21", + "nodeType": "YulLiteral", + "src": "1297:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1287:6:21", + "nodeType": "YulIdentifier", + "src": "1287:6:21" + }, + "nativeSrc": "1287:12:21", + "nodeType": "YulFunctionCall", + "src": "1287:12:21" + }, + "nativeSrc": "1287:12:21", + "nodeType": "YulExpressionStatement", + "src": "1287:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1239:5:21", + "nodeType": "YulIdentifier", + "src": "1239:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1276:5:21", + "nodeType": "YulIdentifier", + "src": "1276:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_ENS_$1030", + "nativeSrc": "1246:29:21", + "nodeType": "YulIdentifier", + "src": "1246:29:21" + }, + "nativeSrc": "1246:36:21", + "nodeType": "YulFunctionCall", + "src": "1246:36:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1236:2:21", + "nodeType": "YulIdentifier", + "src": "1236:2:21" + }, + "nativeSrc": "1236:47:21", + "nodeType": "YulFunctionCall", + "src": "1236:47:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1229:6:21", + "nodeType": "YulIdentifier", + "src": "1229:6:21" + }, + "nativeSrc": "1229:55:21", + "nodeType": "YulFunctionCall", + "src": "1229:55:21" + }, + "nativeSrc": "1226:75:21", + "nodeType": "YulIf", + "src": "1226:75:21" + } + ] + }, + "name": "validator_revert_t_contract$_ENS_$1030", + "nativeSrc": "1161:146:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1209:5:21", + "nodeType": "YulTypedName", + "src": "1209:5:21", + "type": "" + } + ], + "src": "1161:146:21" + }, + { + "body": { + "nativeSrc": "1388:92:21", + "nodeType": "YulBlock", + "src": "1388:92:21", + "statements": [ + { + "nativeSrc": "1398:22:21", + "nodeType": "YulAssignment", + "src": "1398:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1413:6:21", + "nodeType": "YulIdentifier", + "src": "1413:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1407:5:21", + "nodeType": "YulIdentifier", + "src": "1407:5:21" + }, + "nativeSrc": "1407:13:21", + "nodeType": "YulFunctionCall", + "src": "1407:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1398:5:21", + "nodeType": "YulIdentifier", + "src": "1398:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1468:5:21", + "nodeType": "YulIdentifier", + "src": "1468:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_ENS_$1030", + "nativeSrc": "1429:38:21", + "nodeType": "YulIdentifier", + "src": "1429:38:21" + }, + "nativeSrc": "1429:45:21", + "nodeType": "YulFunctionCall", + "src": "1429:45:21" + }, + "nativeSrc": "1429:45:21", + "nodeType": "YulExpressionStatement", + "src": "1429:45:21" + } + ] + }, + "name": "abi_decode_t_contract$_ENS_$1030_fromMemory", + "nativeSrc": "1313:167:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1366:6:21", + "nodeType": "YulTypedName", + "src": "1366:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1374:3:21", + "nodeType": "YulTypedName", + "src": "1374:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1382:5:21", + "nodeType": "YulTypedName", + "src": "1382:5:21", + "type": "" + } + ], + "src": "1313:167:21" + }, + { + "body": { + "nativeSrc": "1552:51:21", + "nodeType": "YulBlock", + "src": "1552:51:21", + "statements": [ + { + "nativeSrc": "1562:35:21", + "nodeType": "YulAssignment", + "src": "1562:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1591:5:21", + "nodeType": "YulIdentifier", + "src": "1591:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1573:17:21", + "nodeType": "YulIdentifier", + "src": "1573:17:21" + }, + "nativeSrc": "1573:24:21", + "nodeType": "YulFunctionCall", + "src": "1573:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1562:7:21", + "nodeType": "YulIdentifier", + "src": "1562:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_INameWrapper_$2401", + "nativeSrc": "1486:117:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1534:5:21", + "nodeType": "YulTypedName", + "src": "1534:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1544:7:21", + "nodeType": "YulTypedName", + "src": "1544:7:21", + "type": "" + } + ], + "src": "1486:117:21" + }, + { + "body": { + "nativeSrc": "1673:100:21", + "nodeType": "YulBlock", + "src": "1673:100:21", + "statements": [ + { + "body": { + "nativeSrc": "1751:16:21", + "nodeType": "YulBlock", + "src": "1751:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1760:1:21", + "nodeType": "YulLiteral", + "src": "1760:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1763:1:21", + "nodeType": "YulLiteral", + "src": "1763:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1753:6:21", + "nodeType": "YulIdentifier", + "src": "1753:6:21" + }, + "nativeSrc": "1753:12:21", + "nodeType": "YulFunctionCall", + "src": "1753:12:21" + }, + "nativeSrc": "1753:12:21", + "nodeType": "YulExpressionStatement", + "src": "1753:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1696:5:21", + "nodeType": "YulIdentifier", + "src": "1696:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1742:5:21", + "nodeType": "YulIdentifier", + "src": "1742:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_INameWrapper_$2401", + "nativeSrc": "1703:38:21", + "nodeType": "YulIdentifier", + "src": "1703:38:21" + }, + "nativeSrc": "1703:45:21", + "nodeType": "YulFunctionCall", + "src": "1703:45:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1693:2:21", + "nodeType": "YulIdentifier", + "src": "1693:2:21" + }, + "nativeSrc": "1693:56:21", + "nodeType": "YulFunctionCall", + "src": "1693:56:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1686:6:21", + "nodeType": "YulIdentifier", + "src": "1686:6:21" + }, + "nativeSrc": "1686:64:21", + "nodeType": "YulFunctionCall", + "src": "1686:64:21" + }, + "nativeSrc": "1683:84:21", + "nodeType": "YulIf", + "src": "1683:84:21" + } + ] + }, + "name": "validator_revert_t_contract$_INameWrapper_$2401", + "nativeSrc": "1609:164:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1666:5:21", + "nodeType": "YulTypedName", + "src": "1666:5:21", + "type": "" + } + ], + "src": "1609:164:21" + }, + { + "body": { + "nativeSrc": "1863:101:21", + "nodeType": "YulBlock", + "src": "1863:101:21", + "statements": [ + { + "nativeSrc": "1873:22:21", + "nodeType": "YulAssignment", + "src": "1873:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1888:6:21", + "nodeType": "YulIdentifier", + "src": "1888:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1882:5:21", + "nodeType": "YulIdentifier", + "src": "1882:5:21" + }, + "nativeSrc": "1882:13:21", + "nodeType": "YulFunctionCall", + "src": "1882:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1873:5:21", + "nodeType": "YulIdentifier", + "src": "1873:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1952:5:21", + "nodeType": "YulIdentifier", + "src": "1952:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_INameWrapper_$2401", + "nativeSrc": "1904:47:21", + "nodeType": "YulIdentifier", + "src": "1904:47:21" + }, + "nativeSrc": "1904:54:21", + "nodeType": "YulFunctionCall", + "src": "1904:54:21" + }, + "nativeSrc": "1904:54:21", + "nodeType": "YulExpressionStatement", + "src": "1904:54:21" + } + ] + }, + "name": "abi_decode_t_contract$_INameWrapper_$2401_fromMemory", + "nativeSrc": "1779:185:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1841:6:21", + "nodeType": "YulTypedName", + "src": "1841:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1849:3:21", + "nodeType": "YulTypedName", + "src": "1849:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1857:5:21", + "nodeType": "YulTypedName", + "src": "1857:5:21", + "type": "" + } + ], + "src": "1779:185:21" + }, + { + "body": { + "nativeSrc": "2015:32:21", + "nodeType": "YulBlock", + "src": "2015:32:21", + "statements": [ + { + "nativeSrc": "2025:16:21", + "nodeType": "YulAssignment", + "src": "2025:16:21", + "value": { + "name": "value", + "nativeSrc": "2036:5:21", + "nodeType": "YulIdentifier", + "src": "2036:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2025:7:21", + "nodeType": "YulIdentifier", + "src": "2025:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "1970:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1997:5:21", + "nodeType": "YulTypedName", + "src": "1997:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2007:7:21", + "nodeType": "YulTypedName", + "src": "2007:7:21", + "type": "" + } + ], + "src": "1970:77:21" + }, + { + "body": { + "nativeSrc": "2096:79:21", + "nodeType": "YulBlock", + "src": "2096:79:21", + "statements": [ + { + "body": { + "nativeSrc": "2153:16:21", + "nodeType": "YulBlock", + "src": "2153:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2162:1:21", + "nodeType": "YulLiteral", + "src": "2162:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2165:1:21", + "nodeType": "YulLiteral", + "src": "2165:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2155:6:21", + "nodeType": "YulIdentifier", + "src": "2155:6:21" + }, + "nativeSrc": "2155:12:21", + "nodeType": "YulFunctionCall", + "src": "2155:12:21" + }, + "nativeSrc": "2155:12:21", + "nodeType": "YulExpressionStatement", + "src": "2155:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2119:5:21", + "nodeType": "YulIdentifier", + "src": "2119:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2144:5:21", + "nodeType": "YulIdentifier", + "src": "2144:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2126:17:21", + "nodeType": "YulIdentifier", + "src": "2126:17:21" + }, + "nativeSrc": "2126:24:21", + "nodeType": "YulFunctionCall", + "src": "2126:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2116:2:21", + "nodeType": "YulIdentifier", + "src": "2116:2:21" + }, + "nativeSrc": "2116:35:21", + "nodeType": "YulFunctionCall", + "src": "2116:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2109:6:21", + "nodeType": "YulIdentifier", + "src": "2109:6:21" + }, + "nativeSrc": "2109:43:21", + "nodeType": "YulFunctionCall", + "src": "2109:43:21" + }, + "nativeSrc": "2106:63:21", + "nodeType": "YulIf", + "src": "2106:63:21" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "2053:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2089:5:21", + "nodeType": "YulTypedName", + "src": "2089:5:21", + "type": "" + } + ], + "src": "2053:122:21" + }, + { + "body": { + "nativeSrc": "2244:80:21", + "nodeType": "YulBlock", + "src": "2244:80:21", + "statements": [ + { + "nativeSrc": "2254:22:21", + "nodeType": "YulAssignment", + "src": "2254:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2269:6:21", + "nodeType": "YulIdentifier", + "src": "2269:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2263:5:21", + "nodeType": "YulIdentifier", + "src": "2263:5:21" + }, + "nativeSrc": "2263:13:21", + "nodeType": "YulFunctionCall", + "src": "2263:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2254:5:21", + "nodeType": "YulIdentifier", + "src": "2254:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2312:5:21", + "nodeType": "YulIdentifier", + "src": "2312:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "2285:26:21", + "nodeType": "YulIdentifier", + "src": "2285:26:21" + }, + "nativeSrc": "2285:33:21", + "nodeType": "YulFunctionCall", + "src": "2285:33:21" + }, + "nativeSrc": "2285:33:21", + "nodeType": "YulExpressionStatement", + "src": "2285:33:21" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "2181:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2222:6:21", + "nodeType": "YulTypedName", + "src": "2222:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2230:3:21", + "nodeType": "YulTypedName", + "src": "2230:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2238:5:21", + "nodeType": "YulTypedName", + "src": "2238:5:21", + "type": "" + } + ], + "src": "2181:143:21" + }, + { + "body": { + "nativeSrc": "2511:745:21", + "nodeType": "YulBlock", + "src": "2511:745:21", + "statements": [ + { + "body": { + "nativeSrc": "2558:83:21", + "nodeType": "YulBlock", + "src": "2558:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2560:77:21", + "nodeType": "YulIdentifier", + "src": "2560:77:21" + }, + "nativeSrc": "2560:79:21", + "nodeType": "YulFunctionCall", + "src": "2560:79:21" + }, + "nativeSrc": "2560:79:21", + "nodeType": "YulExpressionStatement", + "src": "2560:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2532:7:21", + "nodeType": "YulIdentifier", + "src": "2532:7:21" + }, + { + "name": "headStart", + "nativeSrc": "2541:9:21", + "nodeType": "YulIdentifier", + "src": "2541:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2528:3:21", + "nodeType": "YulIdentifier", + "src": "2528:3:21" + }, + "nativeSrc": "2528:23:21", + "nodeType": "YulFunctionCall", + "src": "2528:23:21" + }, + { + "kind": "number", + "nativeSrc": "2553:3:21", + "nodeType": "YulLiteral", + "src": "2553:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2524:3:21", + "nodeType": "YulIdentifier", + "src": "2524:3:21" + }, + "nativeSrc": "2524:33:21", + "nodeType": "YulFunctionCall", + "src": "2524:33:21" + }, + "nativeSrc": "2521:120:21", + "nodeType": "YulIf", + "src": "2521:120:21" + }, + { + "nativeSrc": "2651:148:21", + "nodeType": "YulBlock", + "src": "2651:148:21", + "statements": [ + { + "nativeSrc": "2666:15:21", + "nodeType": "YulVariableDeclaration", + "src": "2666:15:21", + "value": { + "kind": "number", + "nativeSrc": "2680:1:21", + "nodeType": "YulLiteral", + "src": "2680:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2670:6:21", + "nodeType": "YulTypedName", + "src": "2670:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2695:94:21", + "nodeType": "YulAssignment", + "src": "2695:94:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2761:9:21", + "nodeType": "YulIdentifier", + "src": "2761:9:21" + }, + { + "name": "offset", + "nativeSrc": "2772:6:21", + "nodeType": "YulIdentifier", + "src": "2772:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2757:3:21", + "nodeType": "YulIdentifier", + "src": "2757:3:21" + }, + "nativeSrc": "2757:22:21", + "nodeType": "YulFunctionCall", + "src": "2757:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "2781:7:21", + "nodeType": "YulIdentifier", + "src": "2781:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory", + "nativeSrc": "2705:51:21", + "nodeType": "YulIdentifier", + "src": "2705:51:21" + }, + "nativeSrc": "2705:84:21", + "nodeType": "YulFunctionCall", + "src": "2705:84:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2695:6:21", + "nodeType": "YulIdentifier", + "src": "2695:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "2809:141:21", + "nodeType": "YulBlock", + "src": "2809:141:21", + "statements": [ + { + "nativeSrc": "2824:16:21", + "nodeType": "YulVariableDeclaration", + "src": "2824:16:21", + "value": { + "kind": "number", + "nativeSrc": "2838:2:21", + "nodeType": "YulLiteral", + "src": "2838:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2828:6:21", + "nodeType": "YulTypedName", + "src": "2828:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2854:86:21", + "nodeType": "YulAssignment", + "src": "2854:86:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2912:9:21", + "nodeType": "YulIdentifier", + "src": "2912:9:21" + }, + { + "name": "offset", + "nativeSrc": "2923:6:21", + "nodeType": "YulIdentifier", + "src": "2923:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2908:3:21", + "nodeType": "YulIdentifier", + "src": "2908:3:21" + }, + "nativeSrc": "2908:22:21", + "nodeType": "YulFunctionCall", + "src": "2908:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "2932:7:21", + "nodeType": "YulIdentifier", + "src": "2932:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_ENS_$1030_fromMemory", + "nativeSrc": "2864:43:21", + "nodeType": "YulIdentifier", + "src": "2864:43:21" + }, + "nativeSrc": "2864:76:21", + "nodeType": "YulFunctionCall", + "src": "2864:76:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "2854:6:21", + "nodeType": "YulIdentifier", + "src": "2854:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "2960:150:21", + "nodeType": "YulBlock", + "src": "2960:150:21", + "statements": [ + { + "nativeSrc": "2975:16:21", + "nodeType": "YulVariableDeclaration", + "src": "2975:16:21", + "value": { + "kind": "number", + "nativeSrc": "2989:2:21", + "nodeType": "YulLiteral", + "src": "2989:2:21", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2979:6:21", + "nodeType": "YulTypedName", + "src": "2979:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3005:95:21", + "nodeType": "YulAssignment", + "src": "3005:95:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3072:9:21", + "nodeType": "YulIdentifier", + "src": "3072:9:21" + }, + { + "name": "offset", + "nativeSrc": "3083:6:21", + "nodeType": "YulIdentifier", + "src": "3083:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3068:3:21", + "nodeType": "YulIdentifier", + "src": "3068:3:21" + }, + "nativeSrc": "3068:22:21", + "nodeType": "YulFunctionCall", + "src": "3068:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3092:7:21", + "nodeType": "YulIdentifier", + "src": "3092:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_INameWrapper_$2401_fromMemory", + "nativeSrc": "3015:52:21", + "nodeType": "YulIdentifier", + "src": "3015:52:21" + }, + "nativeSrc": "3015:85:21", + "nodeType": "YulFunctionCall", + "src": "3015:85:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "3005:6:21", + "nodeType": "YulIdentifier", + "src": "3005:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "3120:129:21", + "nodeType": "YulBlock", + "src": "3120:129:21", + "statements": [ + { + "nativeSrc": "3135:16:21", + "nodeType": "YulVariableDeclaration", + "src": "3135:16:21", + "value": { + "kind": "number", + "nativeSrc": "3149:2:21", + "nodeType": "YulLiteral", + "src": "3149:2:21", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3139:6:21", + "nodeType": "YulTypedName", + "src": "3139:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3165:74:21", + "nodeType": "YulAssignment", + "src": "3165:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3211:9:21", + "nodeType": "YulIdentifier", + "src": "3211:9:21" + }, + { + "name": "offset", + "nativeSrc": "3222:6:21", + "nodeType": "YulIdentifier", + "src": "3222:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3207:3:21", + "nodeType": "YulIdentifier", + "src": "3207:3:21" + }, + "nativeSrc": "3207:22:21", + "nodeType": "YulFunctionCall", + "src": "3207:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3231:7:21", + "nodeType": "YulIdentifier", + "src": "3231:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3175:31:21", + "nodeType": "YulIdentifier", + "src": "3175:31:21" + }, + "nativeSrc": "3175:64:21", + "nodeType": "YulFunctionCall", + "src": "3175:64:21" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "3165:6:21", + "nodeType": "YulIdentifier", + "src": "3165:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory", + "nativeSrc": "2330:926:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2457:9:21", + "nodeType": "YulTypedName", + "src": "2457:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2468:7:21", + "nodeType": "YulTypedName", + "src": "2468:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2480:6:21", + "nodeType": "YulTypedName", + "src": "2480:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2488:6:21", + "nodeType": "YulTypedName", + "src": "2488:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "2496:6:21", + "nodeType": "YulTypedName", + "src": "2496:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "2504:6:21", + "nodeType": "YulTypedName", + "src": "2504:6:21", + "type": "" + } + ], + "src": "2330:926:21" + }, + { + "body": { + "nativeSrc": "3358:73:21", + "nodeType": "YulBlock", + "src": "3358:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3375:3:21", + "nodeType": "YulIdentifier", + "src": "3375:3:21" + }, + { + "name": "length", + "nativeSrc": "3380:6:21", + "nodeType": "YulIdentifier", + "src": "3380:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3368:6:21", + "nodeType": "YulIdentifier", + "src": "3368:6:21" + }, + "nativeSrc": "3368:19:21", + "nodeType": "YulFunctionCall", + "src": "3368:19:21" + }, + "nativeSrc": "3368:19:21", + "nodeType": "YulExpressionStatement", + "src": "3368:19:21" + }, + { + "nativeSrc": "3396:29:21", + "nodeType": "YulAssignment", + "src": "3396:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3415:3:21", + "nodeType": "YulIdentifier", + "src": "3415:3:21" + }, + { + "kind": "number", + "nativeSrc": "3420:4:21", + "nodeType": "YulLiteral", + "src": "3420:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3411:3:21", + "nodeType": "YulIdentifier", + "src": "3411:3:21" + }, + "nativeSrc": "3411:14:21", + "nodeType": "YulFunctionCall", + "src": "3411:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "3396:11:21", + "nodeType": "YulIdentifier", + "src": "3396:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "3262:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3330:3:21", + "nodeType": "YulTypedName", + "src": "3330:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3335:6:21", + "nodeType": "YulTypedName", + "src": "3335:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "3346:11:21", + "nodeType": "YulTypedName", + "src": "3346:11:21", + "type": "" + } + ], + "src": "3262:169:21" + }, + { + "body": { + "nativeSrc": "3543:76:21", + "nodeType": "YulBlock", + "src": "3543:76:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "3565:6:21", + "nodeType": "YulIdentifier", + "src": "3565:6:21" + }, + { + "kind": "number", + "nativeSrc": "3573:1:21", + "nodeType": "YulLiteral", + "src": "3573:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3561:3:21", + "nodeType": "YulIdentifier", + "src": "3561:3:21" + }, + "nativeSrc": "3561:14:21", + "nodeType": "YulFunctionCall", + "src": "3561:14:21" + }, + { + "hexValue": "4e616d6520577261707065722061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "3577:34:21", + "nodeType": "YulLiteral", + "src": "3577:34:21", + "type": "", + "value": "Name Wrapper address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3554:6:21", + "nodeType": "YulIdentifier", + "src": "3554:6:21" + }, + "nativeSrc": "3554:58:21", + "nodeType": "YulFunctionCall", + "src": "3554:58:21" + }, + "nativeSrc": "3554:58:21", + "nodeType": "YulExpressionStatement", + "src": "3554:58:21" + } + ] + }, + "name": "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "nativeSrc": "3437:182:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "3535:6:21", + "nodeType": "YulTypedName", + "src": "3535:6:21", + "type": "" + } + ], + "src": "3437:182:21" + }, + { + "body": { + "nativeSrc": "3771:220:21", + "nodeType": "YulBlock", + "src": "3771:220:21", + "statements": [ + { + "nativeSrc": "3781:74:21", + "nodeType": "YulAssignment", + "src": "3781:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3847:3:21", + "nodeType": "YulIdentifier", + "src": "3847:3:21" + }, + { + "kind": "number", + "nativeSrc": "3852:2:21", + "nodeType": "YulLiteral", + "src": "3852:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "3788:58:21", + "nodeType": "YulIdentifier", + "src": "3788:58:21" + }, + "nativeSrc": "3788:67:21", + "nodeType": "YulFunctionCall", + "src": "3788:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "3781:3:21", + "nodeType": "YulIdentifier", + "src": "3781:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3953:3:21", + "nodeType": "YulIdentifier", + "src": "3953:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "nativeSrc": "3864:88:21", + "nodeType": "YulIdentifier", + "src": "3864:88:21" + }, + "nativeSrc": "3864:93:21", + "nodeType": "YulFunctionCall", + "src": "3864:93:21" + }, + "nativeSrc": "3864:93:21", + "nodeType": "YulExpressionStatement", + "src": "3864:93:21" + }, + { + "nativeSrc": "3966:19:21", + "nodeType": "YulAssignment", + "src": "3966:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3977:3:21", + "nodeType": "YulIdentifier", + "src": "3977:3:21" + }, + { + "kind": "number", + "nativeSrc": "3982:2:21", + "nodeType": "YulLiteral", + "src": "3982:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3973:3:21", + "nodeType": "YulIdentifier", + "src": "3973:3:21" + }, + "nativeSrc": "3973:12:21", + "nodeType": "YulFunctionCall", + "src": "3973:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "3966:3:21", + "nodeType": "YulIdentifier", + "src": "3966:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack", + "nativeSrc": "3625:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3759:3:21", + "nodeType": "YulTypedName", + "src": "3759:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "3767:3:21", + "nodeType": "YulTypedName", + "src": "3767:3:21", + "type": "" + } + ], + "src": "3625:366:21" + }, + { + "body": { + "nativeSrc": "4168:248:21", + "nodeType": "YulBlock", + "src": "4168:248:21", + "statements": [ + { + "nativeSrc": "4178:26:21", + "nodeType": "YulAssignment", + "src": "4178:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4190:9:21", + "nodeType": "YulIdentifier", + "src": "4190:9:21" + }, + { + "kind": "number", + "nativeSrc": "4201:2:21", + "nodeType": "YulLiteral", + "src": "4201:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4186:3:21", + "nodeType": "YulIdentifier", + "src": "4186:3:21" + }, + "nativeSrc": "4186:18:21", + "nodeType": "YulFunctionCall", + "src": "4186:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4178:4:21", + "nodeType": "YulIdentifier", + "src": "4178:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4225:9:21", + "nodeType": "YulIdentifier", + "src": "4225:9:21" + }, + { + "kind": "number", + "nativeSrc": "4236:1:21", + "nodeType": "YulLiteral", + "src": "4236:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4221:3:21", + "nodeType": "YulIdentifier", + "src": "4221:3:21" + }, + "nativeSrc": "4221:17:21", + "nodeType": "YulFunctionCall", + "src": "4221:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4244:4:21", + "nodeType": "YulIdentifier", + "src": "4244:4:21" + }, + { + "name": "headStart", + "nativeSrc": "4250:9:21", + "nodeType": "YulIdentifier", + "src": "4250:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4240:3:21", + "nodeType": "YulIdentifier", + "src": "4240:3:21" + }, + "nativeSrc": "4240:20:21", + "nodeType": "YulFunctionCall", + "src": "4240:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4214:6:21", + "nodeType": "YulIdentifier", + "src": "4214:6:21" + }, + "nativeSrc": "4214:47:21", + "nodeType": "YulFunctionCall", + "src": "4214:47:21" + }, + "nativeSrc": "4214:47:21", + "nodeType": "YulExpressionStatement", + "src": "4214:47:21" + }, + { + "nativeSrc": "4270:139:21", + "nodeType": "YulAssignment", + "src": "4270:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4404:4:21", + "nodeType": "YulIdentifier", + "src": "4404:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack", + "nativeSrc": "4278:124:21", + "nodeType": "YulIdentifier", + "src": "4278:124:21" + }, + "nativeSrc": "4278:131:21", + "nodeType": "YulFunctionCall", + "src": "4278:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4270:4:21", + "nodeType": "YulIdentifier", + "src": "4270:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "3997:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4148:9:21", + "nodeType": "YulTypedName", + "src": "4148:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4163:4:21", + "nodeType": "YulTypedName", + "src": "4163:4:21", + "type": "" + } + ], + "src": "3997:419:21" + }, + { + "body": { + "nativeSrc": "4528:72:21", + "nodeType": "YulBlock", + "src": "4528:72:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "4550:6:21", + "nodeType": "YulIdentifier", + "src": "4550:6:21" + }, + { + "kind": "number", + "nativeSrc": "4558:1:21", + "nodeType": "YulLiteral", + "src": "4558:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4546:3:21", + "nodeType": "YulIdentifier", + "src": "4546:3:21" + }, + "nativeSrc": "4546:14:21", + "nodeType": "YulFunctionCall", + "src": "4546:14:21" + }, + { + "hexValue": "56657269666965722061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "4562:30:21", + "nodeType": "YulLiteral", + "src": "4562:30:21", + "type": "", + "value": "Verifier address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4539:6:21", + "nodeType": "YulIdentifier", + "src": "4539:6:21" + }, + "nativeSrc": "4539:54:21", + "nodeType": "YulFunctionCall", + "src": "4539:54:21" + }, + "nativeSrc": "4539:54:21", + "nodeType": "YulExpressionStatement", + "src": "4539:54:21" + } + ] + }, + "name": "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "nativeSrc": "4422:178:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "4520:6:21", + "nodeType": "YulTypedName", + "src": "4520:6:21", + "type": "" + } + ], + "src": "4422:178:21" + }, + { + "body": { + "nativeSrc": "4752:220:21", + "nodeType": "YulBlock", + "src": "4752:220:21", + "statements": [ + { + "nativeSrc": "4762:74:21", + "nodeType": "YulAssignment", + "src": "4762:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4828:3:21", + "nodeType": "YulIdentifier", + "src": "4828:3:21" + }, + { + "kind": "number", + "nativeSrc": "4833:2:21", + "nodeType": "YulLiteral", + "src": "4833:2:21", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "4769:58:21", + "nodeType": "YulIdentifier", + "src": "4769:58:21" + }, + "nativeSrc": "4769:67:21", + "nodeType": "YulFunctionCall", + "src": "4769:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "4762:3:21", + "nodeType": "YulIdentifier", + "src": "4762:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4934:3:21", + "nodeType": "YulIdentifier", + "src": "4934:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "nativeSrc": "4845:88:21", + "nodeType": "YulIdentifier", + "src": "4845:88:21" + }, + "nativeSrc": "4845:93:21", + "nodeType": "YulFunctionCall", + "src": "4845:93:21" + }, + "nativeSrc": "4845:93:21", + "nodeType": "YulExpressionStatement", + "src": "4845:93:21" + }, + { + "nativeSrc": "4947:19:21", + "nodeType": "YulAssignment", + "src": "4947:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4958:3:21", + "nodeType": "YulIdentifier", + "src": "4958:3:21" + }, + { + "kind": "number", + "nativeSrc": "4963:2:21", + "nodeType": "YulLiteral", + "src": "4963:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4954:3:21", + "nodeType": "YulIdentifier", + "src": "4954:3:21" + }, + "nativeSrc": "4954:12:21", + "nodeType": "YulFunctionCall", + "src": "4954:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4947:3:21", + "nodeType": "YulIdentifier", + "src": "4947:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "4606:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "4740:3:21", + "nodeType": "YulTypedName", + "src": "4740:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4748:3:21", + "nodeType": "YulTypedName", + "src": "4748:3:21", + "type": "" + } + ], + "src": "4606:366:21" + }, + { + "body": { + "nativeSrc": "5149:248:21", + "nodeType": "YulBlock", + "src": "5149:248:21", + "statements": [ + { + "nativeSrc": "5159:26:21", + "nodeType": "YulAssignment", + "src": "5159:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5171:9:21", + "nodeType": "YulIdentifier", + "src": "5171:9:21" + }, + { + "kind": "number", + "nativeSrc": "5182:2:21", + "nodeType": "YulLiteral", + "src": "5182:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5167:3:21", + "nodeType": "YulIdentifier", + "src": "5167:3:21" + }, + "nativeSrc": "5167:18:21", + "nodeType": "YulFunctionCall", + "src": "5167:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5159:4:21", + "nodeType": "YulIdentifier", + "src": "5159:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5206:9:21", + "nodeType": "YulIdentifier", + "src": "5206:9:21" + }, + { + "kind": "number", + "nativeSrc": "5217:1:21", + "nodeType": "YulLiteral", + "src": "5217:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5202:3:21", + "nodeType": "YulIdentifier", + "src": "5202:3:21" + }, + "nativeSrc": "5202:17:21", + "nodeType": "YulFunctionCall", + "src": "5202:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5225:4:21", + "nodeType": "YulIdentifier", + "src": "5225:4:21" + }, + { + "name": "headStart", + "nativeSrc": "5231:9:21", + "nodeType": "YulIdentifier", + "src": "5231:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5221:3:21", + "nodeType": "YulIdentifier", + "src": "5221:3:21" + }, + "nativeSrc": "5221:20:21", + "nodeType": "YulFunctionCall", + "src": "5221:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5195:6:21", + "nodeType": "YulIdentifier", + "src": "5195:6:21" + }, + "nativeSrc": "5195:47:21", + "nodeType": "YulFunctionCall", + "src": "5195:47:21" + }, + "nativeSrc": "5195:47:21", + "nodeType": "YulExpressionStatement", + "src": "5195:47:21" + }, + { + "nativeSrc": "5251:139:21", + "nodeType": "YulAssignment", + "src": "5251:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5385:4:21", + "nodeType": "YulIdentifier", + "src": "5385:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5259:124:21", + "nodeType": "YulIdentifier", + "src": "5259:124:21" + }, + "nativeSrc": "5259:131:21", + "nodeType": "YulFunctionCall", + "src": "5259:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5251:4:21", + "nodeType": "YulIdentifier", + "src": "5251:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "4978:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5129:9:21", + "nodeType": "YulTypedName", + "src": "5129:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5144:4:21", + "nodeType": "YulTypedName", + "src": "5144:4:21", + "type": "" + } + ], + "src": "4978:419:21" + }, + { + "body": { + "nativeSrc": "5509:72:21", + "nodeType": "YulBlock", + "src": "5509:72:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "5531:6:21", + "nodeType": "YulIdentifier", + "src": "5531:6:21" + }, + { + "kind": "number", + "nativeSrc": "5539:1:21", + "nodeType": "YulLiteral", + "src": "5539:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5527:3:21", + "nodeType": "YulIdentifier", + "src": "5527:3:21" + }, + "nativeSrc": "5527:14:21", + "nodeType": "YulFunctionCall", + "src": "5527:14:21" + }, + { + "hexValue": "52656769737472792061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "5543:30:21", + "nodeType": "YulLiteral", + "src": "5543:30:21", + "type": "", + "value": "Registry address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5520:6:21", + "nodeType": "YulIdentifier", + "src": "5520:6:21" + }, + "nativeSrc": "5520:54:21", + "nodeType": "YulFunctionCall", + "src": "5520:54:21" + }, + "nativeSrc": "5520:54:21", + "nodeType": "YulExpressionStatement", + "src": "5520:54:21" + } + ] + }, + "name": "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "nativeSrc": "5403:178:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "5501:6:21", + "nodeType": "YulTypedName", + "src": "5501:6:21", + "type": "" + } + ], + "src": "5403:178:21" + }, + { + "body": { + "nativeSrc": "5733:220:21", + "nodeType": "YulBlock", + "src": "5733:220:21", + "statements": [ + { + "nativeSrc": "5743:74:21", + "nodeType": "YulAssignment", + "src": "5743:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5809:3:21", + "nodeType": "YulIdentifier", + "src": "5809:3:21" + }, + { + "kind": "number", + "nativeSrc": "5814:2:21", + "nodeType": "YulLiteral", + "src": "5814:2:21", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5750:58:21", + "nodeType": "YulIdentifier", + "src": "5750:58:21" + }, + "nativeSrc": "5750:67:21", + "nodeType": "YulFunctionCall", + "src": "5750:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5743:3:21", + "nodeType": "YulIdentifier", + "src": "5743:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5915:3:21", + "nodeType": "YulIdentifier", + "src": "5915:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "nativeSrc": "5826:88:21", + "nodeType": "YulIdentifier", + "src": "5826:88:21" + }, + "nativeSrc": "5826:93:21", + "nodeType": "YulFunctionCall", + "src": "5826:93:21" + }, + "nativeSrc": "5826:93:21", + "nodeType": "YulExpressionStatement", + "src": "5826:93:21" + }, + { + "nativeSrc": "5928:19:21", + "nodeType": "YulAssignment", + "src": "5928:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5939:3:21", + "nodeType": "YulIdentifier", + "src": "5939:3:21" + }, + { + "kind": "number", + "nativeSrc": "5944:2:21", + "nodeType": "YulLiteral", + "src": "5944:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5935:3:21", + "nodeType": "YulIdentifier", + "src": "5935:3:21" + }, + "nativeSrc": "5935:12:21", + "nodeType": "YulFunctionCall", + "src": "5935:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5928:3:21", + "nodeType": "YulIdentifier", + "src": "5928:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5587:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5721:3:21", + "nodeType": "YulTypedName", + "src": "5721:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5729:3:21", + "nodeType": "YulTypedName", + "src": "5729:3:21", + "type": "" + } + ], + "src": "5587:366:21" + }, + { + "body": { + "nativeSrc": "6130:248:21", + "nodeType": "YulBlock", + "src": "6130:248:21", + "statements": [ + { + "nativeSrc": "6140:26:21", + "nodeType": "YulAssignment", + "src": "6140:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6152:9:21", + "nodeType": "YulIdentifier", + "src": "6152:9:21" + }, + { + "kind": "number", + "nativeSrc": "6163:2:21", + "nodeType": "YulLiteral", + "src": "6163:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6148:3:21", + "nodeType": "YulIdentifier", + "src": "6148:3:21" + }, + "nativeSrc": "6148:18:21", + "nodeType": "YulFunctionCall", + "src": "6148:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6140:4:21", + "nodeType": "YulIdentifier", + "src": "6140:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6187:9:21", + "nodeType": "YulIdentifier", + "src": "6187:9:21" + }, + { + "kind": "number", + "nativeSrc": "6198:1:21", + "nodeType": "YulLiteral", + "src": "6198:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6183:3:21", + "nodeType": "YulIdentifier", + "src": "6183:3:21" + }, + "nativeSrc": "6183:17:21", + "nodeType": "YulFunctionCall", + "src": "6183:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6206:4:21", + "nodeType": "YulIdentifier", + "src": "6206:4:21" + }, + { + "name": "headStart", + "nativeSrc": "6212:9:21", + "nodeType": "YulIdentifier", + "src": "6212:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6202:3:21", + "nodeType": "YulIdentifier", + "src": "6202:3:21" + }, + "nativeSrc": "6202:20:21", + "nodeType": "YulFunctionCall", + "src": "6202:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6176:6:21", + "nodeType": "YulIdentifier", + "src": "6176:6:21" + }, + "nativeSrc": "6176:47:21", + "nodeType": "YulFunctionCall", + "src": "6176:47:21" + }, + "nativeSrc": "6176:47:21", + "nodeType": "YulExpressionStatement", + "src": "6176:47:21" + }, + { + "nativeSrc": "6232:139:21", + "nodeType": "YulAssignment", + "src": "6232:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6366:4:21", + "nodeType": "YulIdentifier", + "src": "6366:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6240:124:21", + "nodeType": "YulIdentifier", + "src": "6240:124:21" + }, + "nativeSrc": "6240:131:21", + "nodeType": "YulFunctionCall", + "src": "6240:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6232:4:21", + "nodeType": "YulIdentifier", + "src": "6232:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "5959:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6110:9:21", + "nodeType": "YulTypedName", + "src": "6110:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6125:4:21", + "nodeType": "YulTypedName", + "src": "6125:4:21", + "type": "" + } + ], + "src": "5959:419:21" + } + ] + }, + "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 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 cleanup_t_contract$_IEVMVerifier_$798(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEVMVerifier_$798(value) {\n if iszero(eq(value, cleanup_t_contract$_IEVMVerifier_$798(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEVMVerifier_$798_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEVMVerifier_$798(value)\n }\n\n function cleanup_t_contract$_ENS_$1030(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_ENS_$1030(value) {\n if iszero(eq(value, cleanup_t_contract$_ENS_$1030(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_ENS_$1030_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_ENS_$1030(value)\n }\n\n function cleanup_t_contract$_INameWrapper_$2401(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_INameWrapper_$2401(value) {\n if iszero(eq(value, cleanup_t_contract$_INameWrapper_$2401(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_INameWrapper_$2401_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_INameWrapper_$2401(value)\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory(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_contract$_IEVMVerifier_$798_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_contract$_ENS_$1030_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_contract$_INameWrapper_$2401_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766(memPtr) {\n\n mstore(add(memPtr, 0), \"Name Wrapper address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f(memPtr) {\n\n mstore(add(memPtr, 0), \"Verifier address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60(memPtr) {\n\n mstore(add(memPtr, 0), \"Registry address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": { + "contracts/LabelUtils.sol": { + "LabelUtils": [ + { + "length": 20, + "start": 2567 + }, + { + "length": 20, + "start": 2696 + }, + { + "length": 20, + "start": 2879 + }, + { + "length": 20, + "start": 3896 + } + ] + } + }, + "object": "61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x4036 CODESIZE SUB DUP1 PUSH2 0x4036 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x33 SWAP2 SWAP1 PUSH2 0x354 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x99 SWAP1 PUSH2 0x418 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x111 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x108 SWAP1 PUSH2 0x484 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x180 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x177 SWAP1 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xC0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 PUSH1 0xE0 DUP2 DUP2 MSTORE POP POP POP POP POP POP PUSH2 0x510 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25D DUP3 PUSH2 0x232 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26F DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27F DUP2 PUSH2 0x264 JUMP JUMPDEST DUP2 EQ PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x29C DUP2 PUSH2 0x276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AD DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BD DUP2 PUSH2 0x2A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2DA DUP2 PUSH2 0x2B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EB DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2FB DUP2 PUSH2 0x2E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x318 DUP2 PUSH2 0x2F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x331 DUP2 PUSH2 0x31E JUMP JUMPDEST DUP2 EQ PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x34E DUP2 PUSH2 0x328 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x36E JUMPI PUSH2 0x36D PUSH2 0x22D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x37C DUP8 DUP3 DUP9 ADD PUSH2 0x28D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x38D DUP8 DUP3 DUP9 ADD PUSH2 0x2CB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x39E DUP8 DUP3 DUP9 ADD PUSH2 0x309 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x3AF DUP8 DUP3 DUP9 ADD PUSH2 0x33F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E616D6520577261707065722061646472657373206D75737420626520736574 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x402 PUSH1 0x20 DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x40D DUP3 PUSH2 0x3CC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x431 DUP2 PUSH2 0x3F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x56657269666965722061646472657373206D7573742062652073657400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46E PUSH1 0x1C DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x479 DUP3 PUSH2 0x438 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x49D DUP2 PUSH2 0x461 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x52656769737472792061646472657373206D7573742062652073657400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DA PUSH1 0x1C DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x4E5 DUP3 PUSH2 0x4A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x509 DUP2 PUSH2 0x4CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0x3ACA PUSH2 0x56C PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xFB5 ADD MSTORE PUSH2 0x1594 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0xBE5 ADD MSTORE DUP2 DUP2 PUSH2 0x146A ADD MSTORE PUSH2 0x14BD ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x678 ADD MSTORE PUSH2 0x13CE ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x654 ADD MSTORE PUSH2 0x1372 ADD MSTORE PUSH2 0x3ACA 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 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9061B923 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD358DF77 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD358DF77 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0xD6AE3CD5 EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF00EEBF4 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF470901A EQ PUSH2 0x305 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x9061B923 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xA8E5FBC0 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xAC177C37 EQ PUSH2 0x263 JUMPI DUP1 PUSH4 0xAC8A4A5D EQ PUSH2 0x27F JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2B7AC3F3 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2B7AC3F3 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x3F15457F EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5BDAA916 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x6D74E86E EQ PUSH2 0x1F7 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x15F64386 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x1A33DDAE EQ PUSH2 0x15B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x114 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1DA4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x121 SWAP2 SWAP1 PUSH2 0x1DEC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x152 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x182 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x193 PUSH2 0x652 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2159 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B1 PUSH2 0x676 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BE SWAP2 SWAP1 PUSH2 0x2195 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24D PUSH2 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25A SWAP2 SWAP1 PUSH2 0x22F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x27D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x233A JUMP JUMPDEST PUSH2 0xC07 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xD5C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2BF PUSH2 0xFB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xFD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x31F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31A SWAP2 SWAP1 PUSH2 0x2507 JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x9061B92300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x400 JUMPI POP PUSH32 0x15F6438600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x468 JUMPI POP PUSH32 0xF00EEBF400000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x478 JUMPI POP PUSH2 0x477 DUP3 PUSH2 0x109C JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48D DUP4 PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0x94BC2DB6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D2 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x2651 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE5C4CF73 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x551 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0x8DEA91D DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x625 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP6 DUP6 DUP2 ADD SWAP1 PUSH2 0x6AD SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP10 DUP10 DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0x2978 JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC51CA02A DUP8 DUP8 DUP8 DUP13 PUSH2 0x6FD PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71D SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2C23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x73A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x763 SWAP2 SWAP1 PUSH2 0x2D40 JUMP JUMPDEST SWAP1 POP DUP5 MLOAD DUP2 MLOAD EQ PUSH2 0x7AF JUMPI DUP1 MLOAD DUP6 MLOAD PUSH1 0x40 MLOAD PUSH32 0x2918942500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A6 SWAP3 SWAP2 SWAP1 PUSH2 0x2D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x84A DUP5 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x7C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x126F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD RETURN JUMPDEST PUSH1 0x0 PUSH3 0x15180 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP4 DUP4 SWAP1 POP LT ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89F SWAP1 PUSH2 0x2E35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x4 SWAP1 DUP1 SWAP3 PUSH2 0x8BD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E5F JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x8CA SWAP2 SWAP1 PUSH2 0x2E9A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x9BE DUP2 DUP8 DUP8 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x12BB JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x3 PUSH20 0x0 PUSH4 0x4062ACE3 DUP10 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA03 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA20 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA44 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST GT ISZERO PUSH2 0xA85 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA7C SWAP1 PUSH2 0x2F13 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAD6 DUP9 DUP9 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x0 DUP7 DUP7 SWAP1 PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x2F4B JUMP JUMPDEST SWAP1 POP PUSH4 0x3B3B57DE PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SUB PUSH2 0xBA0 JUMPI PUSH1 0x0 PUSH2 0xB42 DUP11 DUP11 PUSH2 0x496 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xB93 DUP3 DUP3 DUP7 PUSH2 0x1348 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD2 SWAP1 PUSH2 0x2FF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC56 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xC62 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xCA1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC98 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0xD24DBAC998CB2D343FB2B7FE7C54B44DE845182FF5C7B461EF274AFEE047B5E7 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH2 0xD4D SWAP3 SWAP2 SWAP1 PUSH2 0x30A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAB DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xDB7 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xDF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDED SWAP1 PUSH2 0x3143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x704DFB2F4B8F24190956226460D0667A92B988DE5055430D52E6B0315922E2C DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE79 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xED6 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xEE2 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xF21 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF18 SWAP1 PUSH2 0x31D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x88781081CC340609705AF0F96BF3BA64EA267873444E91725BD072F2AF0F44D8 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFA5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3222 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x102A DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1036 DUP2 PUSH2 0x1592 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1071 SWAP2 SWAP1 PUSH2 0x3298 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1084 SWAP2 SWAP1 PUSH2 0x32C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x111E DUP5 DUP7 PUSH2 0x15F1 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP1 SHL SWAP3 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 PUSH2 0x1155 PUSH1 0x1 DUP7 PUSH2 0x1144 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST DUP4 DUP9 PUSH2 0x161C SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x1178 DUP7 PUSH1 0x1 DUP5 DUP9 PUSH2 0x1169 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1173 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1106 JUMP JUMPDEST DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1193 SWAP3 SWAP2 SWAP1 PUSH2 0x3364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1250 JUMPI DUP4 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP4 POP SWAP4 POP POP POP PUSH2 0x1268 JUMP JUMPDEST POP PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL PUSH1 0x0 SWAP3 POP SWAP3 POP POP PUSH2 0x1268 JUMP JUMPDEST POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x12B3 DUP4 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416464726573733A206C6F772D6C6576656C2063616C6C206661696C65640000 DUP2 MSTORE POP PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12E5 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1320 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO PUSH2 0x133A JUMPI DUP1 SWAP3 POP POP POP PUSH2 0x1342 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x13C2 PUSH4 0xF470901A PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13B3 DUP8 PUSH2 0x13A5 DUP9 PUSH2 0x1397 PUSH32 0x0 DUP11 PUSH2 0x1715 JUMP JUMPDEST PUSH2 0x1824 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1905 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1986 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x2571BE3 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1425 SWAP2 SWAP1 PUSH2 0x33E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1442 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1466 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x155B JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6352211E DUP5 PUSH1 0x0 SHR PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1534 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1558 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 PUSH1 0x40 MLOAD PUSH32 0xE0A0507100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E8 SWAP3 SWAP2 SWAP1 PUSH2 0x3440 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1606 JUMPI PUSH2 0x1605 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD DUP3 DUP5 PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST GT ISZERO PUSH2 0x1637 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP4 PUSH1 0x20 DUP7 ADD ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x168D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1684 SWAP1 PUSH2 0x34DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x16B6 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x16F3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16F8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1709 DUP8 DUP4 DUP4 DUP8 PUSH2 0x1B11 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x171D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x173A JUMPI PUSH2 0x1739 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1768 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1788 JUMPI PUSH2 0x1787 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x17BB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x17A6 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x182C PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x184F JUMPI POP PUSH1 0x20 DUP6 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x1860 JUMPI PUSH2 0x185F DUP6 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP6 PUSH1 0x40 ADD MLOAD MLOAD GT ISZERO PUSH2 0x18B2 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH32 0x128E700800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18A9 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x60 ADD DUP2 DUP2 MSTORE POP POP PUSH2 0x18C8 DUP6 PUSH1 0x0 PUSH2 0x1B86 JUMP JUMPDEST PUSH2 0x18FA DUP6 PUSH2 0x18F5 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x18E1 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x190D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH32 0xB00FD63800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x197D DUP4 PUSH2 0x1978 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1964 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD MLOAD GT DUP1 ISZERO PUSH2 0x199F JUMPI POP PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF DUP4 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST ADDRESS DUP4 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB50F2FBC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A29 SWAP2 SWAP1 PUSH2 0x367D JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD DUP7 PUSH1 0x80 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1A4A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH4 0xEA9CD3BF PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH4 0x5BDAA916 PUSH1 0xE0 SHL DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD DUP9 PUSH1 0x40 ADD MLOAD DUP10 PUSH1 0x80 ADD MLOAD DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AC2 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x371A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x556F183000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1B73 JUMPI PUSH1 0x0 DUP4 MLOAD SUB PUSH2 0x1B6B JUMPI PUSH2 0x1B2B DUP6 PUSH2 0x1C6A JUMP JUMPDEST PUSH2 0x1B6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B61 SWAP1 PUSH2 0x395B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP3 SWAP1 POP PUSH2 0x1B7E JUMP JUMPDEST PUSH2 0x1B7D DUP4 DUP4 PUSH2 0x1C8D JUMP JUMPDEST JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH1 0x40 ADD MLOAD MLOAD PUSH2 0x1B9A SWAP2 SWAP1 PUSH2 0x397B JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x60 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x1BAE SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP2 MSTORE POP PUSH1 0x8 PUSH2 0x1BBD SWAP2 SWAP1 PUSH2 0x39F7 JUMP JUMPDEST DUP3 PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD OR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C1C JUMPI PUSH2 0x1C1B PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x80 ADD MLOAD SWAP1 POP DUP1 MLOAD SWAP2 POP PUSH1 0x1 DUP3 ADD DUP2 MSTORE DUP3 DUP2 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1C58 JUMPI PUSH2 0x1C57 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT ISZERO PUSH2 0x1CA0 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD4 SWAP2 SWAP1 PUSH2 0x3A72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D81 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP2 EQ PUSH2 0x1D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D9E DUP2 PUSH2 0x1D78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DB9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DE6 DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E01 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP 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 0x1E5A DUP3 PUSH2 0x1E11 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1E79 JUMPI PUSH2 0x1E78 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8C PUSH2 0x1D38 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E98 DUP3 DUP3 PUSH2 0x1E51 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1EB8 JUMPI PUSH2 0x1EB7 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC1 DUP3 PUSH2 0x1E11 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 0x1EF0 PUSH2 0x1EEB DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1F0C JUMPI PUSH2 0x1F0B PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x1F17 DUP5 DUP3 DUP6 PUSH2 0x1ECE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1F34 JUMPI PUSH2 0x1F33 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F44 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EDD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F63 JUMPI PUSH2 0x1F62 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F81 JUMPI PUSH2 0x1F80 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1F8D DUP5 DUP3 DUP6 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA9 DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDA DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FEA DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2005 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FA0 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2039 JUMPI PUSH2 0x2038 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2056 JUMPI PUSH2 0x2055 PUSH2 0x2019 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2072 JUMPI PUSH2 0x2071 PUSH2 0x201E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2090 JUMPI PUSH2 0x208F PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20AE JUMPI PUSH2 0x20AD PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x20BA DUP6 DUP3 DUP7 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x20D9 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211F PUSH2 0x211A PUSH2 0x2115 DUP5 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x20FA JUMP JUMPDEST PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2131 DUP3 PUSH2 0x2104 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2153 DUP2 PUSH2 0x2138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x216E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x214A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217F DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x218F DUP2 PUSH2 0x2174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x21AA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2186 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x21CA JUMPI PUSH2 0x21C9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21E8 JUMPI PUSH2 0x21E7 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x21F4 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2217 JUMPI PUSH2 0x2216 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2223 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 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 0x226B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2282 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x228C DUP2 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x229C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x22A5 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22CA DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DD DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x22ED DUP2 PUSH2 0x22D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2308 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2317 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x2322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2334 DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2353 JUMPI PUSH2 0x2352 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2371 JUMPI PUSH2 0x2370 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x237D DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x2390 DUP7 DUP3 DUP8 ADD PUSH2 0x2325 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x23A3 DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP2 EQ PUSH2 0x23AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x23C0 DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x23DF JUMPI PUSH2 0x23DE PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23FD JUMPI PUSH2 0x23FC PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2409 DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x241C DUP7 DUP3 DUP8 ADD PUSH2 0x23B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2441 JUMPI PUSH2 0x2440 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2465 PUSH2 0x2460 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2488 JUMPI PUSH2 0x2487 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x24CF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24AD JUMPI PUSH2 0x24AC PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x24BA DUP10 DUP3 PUSH2 0x1F1F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x248A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EE JUMPI PUSH2 0x24ED PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x24FE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2452 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x251E JUMPI PUSH2 0x251D PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253C JUMPI PUSH2 0x253B PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2548 DUP6 DUP3 DUP7 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2569 JUMPI PUSH2 0x2568 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2575 DUP6 DUP3 DUP7 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x259C DUP4 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x25A9 DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x25B2 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25D8 DUP2 DUP5 DUP7 PUSH2 0x2590 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F4 PUSH2 0x25EF DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x260F PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x261B DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2638 JUMPI PUSH2 0x2637 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2648 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2667 JUMPI PUSH2 0x2666 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2685 JUMPI PUSH2 0x2684 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2691 DUP5 DUP3 DUP6 ADD PUSH2 0x2623 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A5 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x26AF DUP2 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x26BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x26C8 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26ED DUP2 DUP5 PUSH2 0x269A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x26FE DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x26F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2737 JUMPI PUSH2 0x2736 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2745 DUP5 DUP3 DUP6 ADD PUSH2 0x270C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4C6162656C206973206E6F742061206E756D6265720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2795 PUSH1 0x15 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x27A0 DUP3 PUSH2 0x275F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27C4 DUP2 PUSH2 0x2788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27DA DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2804 DUP5 DUP3 DUP6 ADD PUSH2 0x27CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 DUP3 PUSH2 0x1FCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2828 DUP2 PUSH2 0x280D JUMP JUMPDEST DUP2 EQ PUSH2 0x2833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2845 DUP2 PUSH2 0x281F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2856 DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2866 DUP2 PUSH2 0x284B JUMP JUMPDEST DUP2 EQ PUSH2 0x2871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2883 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x28A4 JUMPI PUSH2 0x28A3 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28BE DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP2 EQ PUSH2 0x28C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28DB DUP2 PUSH2 0x28B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F4 PUSH2 0x28EF DUP5 PUSH2 0x2889 JUMP JUMPDEST PUSH2 0x1E82 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 0x2917 JUMPI PUSH2 0x2916 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2940 JUMPI DUP1 PUSH2 0x292C DUP9 DUP3 PUSH2 0x28CC JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2919 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x295F JUMPI PUSH2 0x295E PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x296F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2995 JUMPI PUSH2 0x2994 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x29A3 DUP10 DUP3 DUP11 ADD PUSH2 0x2836 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x29B4 DUP10 DUP3 DUP11 ADD PUSH2 0x2874 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D5 JUMPI PUSH2 0x29D4 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x29E1 DUP10 DUP3 DUP11 ADD PUSH2 0x294A JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A02 JUMPI PUSH2 0x2A01 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A0E DUP10 DUP3 DUP11 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2A1F DUP10 DUP3 DUP11 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A40 JUMPI PUSH2 0x2A3F PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A4C DUP10 DUP3 DUP11 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 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 PUSH2 0x2A8E DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA0 DUP4 DUP4 PUSH2 0x2A85 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC4 DUP3 PUSH2 0x2A59 JUMP JUMPDEST PUSH2 0x2ACE DUP2 DUP6 PUSH2 0x2A64 JUMP JUMPDEST SWAP4 POP PUSH2 0x2AD9 DUP4 PUSH2 0x2A75 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2B0A JUMPI DUP2 MLOAD PUSH2 0x2AF1 DUP9 DUP3 PUSH2 0x2A94 JUMP JUMPDEST SWAP8 POP PUSH2 0x2AFC DUP4 PUSH2 0x2AAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2ADD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5F DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x2B69 DUP2 DUP6 PUSH2 0x2B43 JUMP JUMPDEST SWAP4 POP PUSH2 0x2B79 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x2B82 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B99 DUP4 DUP4 PUSH2 0x2B54 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 0x2BB9 DUP3 PUSH2 0x2B17 JUMP JUMPDEST PUSH2 0x2BC3 DUP2 DUP6 PUSH2 0x2B22 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2BD5 DUP6 PUSH2 0x2B33 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2C11 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2BF2 DUP6 DUP3 PUSH2 0x2B8D JUMP JUMPDEST SWAP5 POP PUSH2 0x2BFD DUP4 PUSH2 0x2BA1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2BD9 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2C38 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2C4A DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2C5E DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2C72 DUP2 DUP6 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x2C81 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C9E PUSH2 0x2C99 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2CC1 JUMPI PUSH2 0x2CC0 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D08 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CE6 JUMPI PUSH2 0x2CE5 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x2CF3 DUP10 DUP3 PUSH2 0x2623 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2CC3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D27 JUMPI PUSH2 0x2D26 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2D37 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2C8B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D56 JUMPI PUSH2 0x2D55 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D74 JUMPI PUSH2 0x2D73 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2D80 DUP5 DUP3 DUP6 ADD PUSH2 0x2D12 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2D9E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x2DAB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2DCC DUP2 DUP6 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2DE0 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x706172616D206461746120746F6F2073686F7274000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E1F PUSH1 0x14 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2E2A DUP3 PUSH2 0x2DE9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E4E DUP2 PUSH2 0x2E12 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x2E73 JUMPI PUSH2 0x2E72 PUSH2 0x2E55 JUMP JUMPDEST JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x2E84 JUMPI PUSH2 0x2E83 PUSH2 0x2E5A JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 MUL DUP4 ADD SWAP2 POP DUP5 DUP7 SUB SWAP1 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EB0 JUMPI PUSH2 0x2EAF PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2EBE DUP5 DUP3 DUP6 ADD PUSH2 0x28CC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x546F6F206D616E7920737562646F6D61696E206C6576656C7300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EFD PUSH1 0x19 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2F08 DUP3 PUSH2 0x2EC7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F2C DUP2 PUSH2 0x2EF0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F57 DUP4 DUP4 PUSH2 0x2F33 JUMP JUMPDEST DUP3 PUSH2 0x2F62 DUP2 CALLDATALOAD PUSH2 0x1D4C JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x2FA2 JUMPI PUSH2 0x2F9D PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x4 SUB PUSH1 0x8 MUL PUSH2 0x2F3E JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642073656C6563746F7200000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE0 PUSH1 0x10 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2FEB DUP3 PUSH2 0x2FAA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x300F DUP2 PUSH2 0x2FD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737320736C6F7420666F722074686973206E6F6465000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3072 PUSH1 0x37 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x307D DUP3 PUSH2 0x3016 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30A1 DUP2 PUSH2 0x3065 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x30BD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FE1 JUMP JUMPDEST PUSH2 0x30CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F20736574207265736F6C7665722066 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F722074686973206E6F64650000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x312D PUSH1 0x2C DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3138 DUP3 PUSH2 0x30D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x315C DUP2 PUSH2 0x3120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420666F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2074686973206E6F646500000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BF PUSH1 0x2A DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x31CA DUP3 PUSH2 0x3163 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EE DUP2 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3201 DUP4 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x320E DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x3217 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x323D DUP2 DUP6 DUP8 PUSH2 0x31F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x324C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3292 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32AE JUMPI PUSH2 0x32AD PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32BC DUP5 DUP3 DUP6 ADD PUSH2 0x3283 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32DA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x331A DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3325 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x333D JUMPI PUSH2 0x333C PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x335E PUSH2 0x3359 DUP3 PUSH2 0x1F96 JUMP JUMPDEST PUSH2 0x3343 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3370 DUP3 DUP6 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x3380 DUP3 DUP5 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33A6 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x33B0 DUP2 DUP6 PUSH2 0x3390 JUMP JUMPDEST SWAP4 POP PUSH2 0x33C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 DUP3 DUP5 PUSH2 0x339B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FA0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x340D DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3429 JUMPI PUSH2 0x3428 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3437 DUP5 DUP3 DUP6 ADD PUSH2 0x33FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3455 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x3462 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34C5 PUSH1 0x26 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x34D0 DUP3 PUSH2 0x3469 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34F4 DUP2 PUSH2 0x34B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3516 JUMPI PUSH2 0x3515 PUSH2 0x1E22 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 0x3542 JUMPI PUSH2 0x3541 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x354B DUP3 PUSH2 0x1E11 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356B PUSH2 0x3566 DUP5 PUSH2 0x3527 JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3587 JUMPI PUSH2 0x3586 PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x3592 DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x35AF JUMPI PUSH2 0x35AE PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x35BF DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3558 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35DB PUSH2 0x35D6 DUP5 PUSH2 0x34FB JUMP JUMPDEST PUSH2 0x1E82 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 0x35FE JUMPI PUSH2 0x35FD PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3645 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3623 JUMPI PUSH2 0x3622 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x3630 DUP10 DUP3 PUSH2 0x359A JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3600 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3664 JUMPI PUSH2 0x3663 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x3674 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x35C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3693 JUMPI PUSH2 0x3692 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x36BD DUP5 DUP3 DUP6 ADD PUSH2 0x364F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x36DB PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x36ED DUP2 DUP6 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3701 DUP2 DUP5 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x3714 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x372F PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x373C PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x374E DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x3762 DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP PUSH2 0x3771 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x3783 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP 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 PUSH2 0x37E3 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x37ED DUP2 DUP6 PUSH2 0x37C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x37FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3806 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x381D DUP4 DUP4 PUSH2 0x37D8 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 0x383D DUP3 PUSH2 0x3790 JUMP JUMPDEST PUSH2 0x3847 DUP2 DUP6 PUSH2 0x379B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x3859 DUP6 PUSH2 0x37AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3895 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x3876 DUP6 DUP3 PUSH2 0x3811 JUMP JUMPDEST SWAP5 POP PUSH2 0x3881 DUP4 PUSH2 0x3825 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x385D JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x38BC PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38CE DUP2 DUP8 PUSH2 0x3832 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x38E2 DUP2 DUP7 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x38F1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3903 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3945 PUSH1 0x1D DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3950 DUP3 PUSH2 0x390F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3974 DUP2 PUSH2 0x3938 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3986 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3991 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x39A9 JUMPI PUSH2 0x39A8 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39BA DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x39EC JUMPI PUSH2 0x39EB PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0D DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x3A1B DUP2 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x3A32 JUMPI PUSH2 0x3A31 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A44 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x3A4E DUP2 DUP6 PUSH2 0x274E JUMP JUMPDEST SWAP4 POP PUSH2 0x3A5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3A67 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3A8C DUP2 DUP5 PUSH2 0x3A39 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP 0x25 SWAP14 PUSH30 0x2476CAC1E182A62CC9DDB39E660A13E8A7DA9CD96A986379F70EAB8E6473 PUSH16 0x6C634300081900330000000000000000 ", + "sourceMap": "1084:9781:20:-:0;;;2952:575;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3147:1;3114:35;;3122:12;3114:35;;;3093:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;3268:1;3238:32;;3246:9;3238:32;;;3217:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;3367:1;3342:27;;3350:4;3342:27;;;3334:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3423:9;3412:20;;;;;;;;;;3448:4;3442:10;;;;;;;;;;3476:12;3462:26;;;;;;;;;;3510:10;3498:22;;;;;;2952:575;;;;1084:9781;;88:117:21;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:116::-;625:7;654:24;672:5;654:24;:::i;:::-;643:35;;568:116;;;:::o;690:162::-;783:44;821:5;783:44;:::i;:::-;776:5;773:55;763:83;;842:1;839;832:12;763:83;690:162;:::o;858:183::-;935:5;966:6;960:13;951:22;;982:53;1029:5;982:53;:::i;:::-;858:183;;;;:::o;1047:108::-;1096:7;1125:24;1143:5;1125:24;:::i;:::-;1114:35;;1047:108;;;:::o;1161:146::-;1246:36;1276:5;1246:36;:::i;:::-;1239:5;1236:47;1226:75;;1297:1;1294;1287:12;1226:75;1161:146;:::o;1313:167::-;1382:5;1413:6;1407:13;1398:22;;1429:45;1468:5;1429:45;:::i;:::-;1313:167;;;;:::o;1486:117::-;1544:7;1573:24;1591:5;1573:24;:::i;:::-;1562:35;;1486:117;;;:::o;1609:164::-;1703:45;1742:5;1703:45;:::i;:::-;1696:5;1693:56;1683:84;;1763:1;1760;1753:12;1683:84;1609:164;:::o;1779:185::-;1857:5;1888:6;1882:13;1873:22;;1904:54;1952:5;1904:54;:::i;:::-;1779:185;;;;:::o;1970:77::-;2007:7;2036:5;2025:16;;1970:77;;;:::o;2053:122::-;2126:24;2144:5;2126:24;:::i;:::-;2119:5;2116:35;2106:63;;2165:1;2162;2155:12;2106:63;2053:122;:::o;2181:143::-;2238:5;2269:6;2263:13;2254:22;;2285:33;2312:5;2285:33;:::i;:::-;2181:143;;;;:::o;2330:926::-;2480:6;2488;2496;2504;2553:3;2541:9;2532:7;2528:23;2524:33;2521:120;;;2560:79;;:::i;:::-;2521:120;2680:1;2705:84;2781:7;2772:6;2761:9;2757:22;2705:84;:::i;:::-;2695:94;;2651:148;2838:2;2864:76;2932:7;2923:6;2912:9;2908:22;2864:76;:::i;:::-;2854:86;;2809:141;2989:2;3015:85;3092:7;3083:6;3072:9;3068:22;3015:85;:::i;:::-;3005:95;;2960:150;3149:2;3175:64;3231:7;3222:6;3211:9;3207:22;3175:64;:::i;:::-;3165:74;;3120:129;2330:926;;;;;;;:::o;3262:169::-;3346:11;3380:6;3375:3;3368:19;3420:4;3415:3;3411:14;3396:29;;3262:169;;;;:::o;3437:182::-;3577:34;3573:1;3565:6;3561:14;3554:58;3437:182;:::o;3625:366::-;3767:3;3788:67;3852:2;3847:3;3788:67;:::i;:::-;3781:74;;3864:93;3953:3;3864:93;:::i;:::-;3982:2;3977:3;3973:12;3966:19;;3625:366;;;:::o;3997:419::-;4163:4;4201:2;4190:9;4186:18;4178:26;;4250:9;4244:4;4240:20;4236:1;4225:9;4221:17;4214:47;4278:131;4404:4;4278:131;:::i;:::-;4270:139;;3997:419;;;:::o;4422:178::-;4562:30;4558:1;4550:6;4546:14;4539:54;4422:178;:::o;4606:366::-;4748:3;4769:67;4833:2;4828:3;4769:67;:::i;:::-;4762:74;;4845:93;4934:3;4845:93;:::i;:::-;4963:2;4958:3;4954:12;4947:19;;4606:366;;;:::o;4978:419::-;5144:4;5182:2;5171:9;5167:18;5159:26;;5231:9;5225:4;5221:20;5217:1;5206:9;5202:17;5195:47;5259:131;5385:4;5259:131;:::i;:::-;5251:139;;4978:419;;;:::o;5403:178::-;5543:30;5539:1;5531:6;5527:14;5520:54;5403:178;:::o;5587:366::-;5729:3;5750:67;5814:2;5809:3;5750:67;:::i;:::-;5743:74;;5826:93;5915:3;5826:93;:::i;:::-;5944:2;5939:3;5935:12;5928:19;;5587:366;;;:::o;5959:419::-;6125:4;6163:2;6152:9;6148:18;6140:26;;6212:9;6206:4;6202:20;6198:1;6187:9;6183:17;6176:47;6240:131;6366:4;6240:131;:::i;:::-;6232:139;;5959:419;;;:::o;1084:9781:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_addConstant_726": { + "entryPoint": 7213, + "id": 726, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_addOperation_770": { + "entryPoint": 7046, + "id": 770, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_addr_3918": { + "entryPoint": 4936, + "id": 3918, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@_getTarget_3700": { + "entryPoint": 4358, + "id": 3700, + "parameterSlots": 2, + "returnSlots": 2 + }, + "@_resolve_3887": { + "entryPoint": 4795, + "id": 3887, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_revert_2986": { + "entryPoint": 7309, + "id": 2986, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_writeDeferral_3992": { + "entryPoint": 5522, + "id": 3992, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@addrCallback_3946": { + "entryPoint": 4158, + "id": 3946, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@element_438": { + "entryPoint": 6405, + "id": 438, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@ens_3320": { + "entryPoint": 1654, + "id": 3320, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@extractNFTId_3838": { + "entryPoint": 1174, + "id": 3838, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@fetch_692": { + "entryPoint": 6534, + "id": 692, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@functionCallWithValue_2811": { + "entryPoint": 5704, + "id": 2811, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@functionCall_2727": { + "entryPoint": 4719, + "id": 2727, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAcceptedL2BlockRangeLength_3484": { + "entryPoint": 2132, + "id": 3484, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getStatic_326": { + "entryPoint": 6180, + "id": 326, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getStorageSlotsCallback_115": { + "entryPoint": 1690, + "id": 115, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@getTarget_3605": { + "entryPoint": 1151, + "id": 3605, + "parameterSlots": 1, + "returnSlots": 2 + }, + "@isAuthorised_3396": { + "entryPoint": 5065, + "id": 3396, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isContract_2675": { + "entryPoint": 7274, + "id": 2675, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@keccak_1111": { + "entryPoint": 5660, + "id": 1111, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@l2ChainId_3325": { + "entryPoint": 4019, + "id": 3325, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@nameWrapper_3323": { + "entryPoint": 3043, + "id": 3323, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@newFetchRequest_249": { + "entryPoint": 5909, + "id": 249, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@readUint8_1552": { + "entryPoint": 5617, + "id": 1552, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@resolve_3809": { + "entryPoint": 2143, + "id": 3809, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@setAddr_3860": { + "entryPoint": 4055, + "id": 3860, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@setBaseNodeResolver_3550": { + "entryPoint": 3420, + "id": 3550, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@setTargetAddrSlot_3589": { + "entryPoint": 3079, + "id": 3589, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@setTarget_3517": { + "entryPoint": 3719, + "id": 3517, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@supportsInterface_3010": { + "entryPoint": 4252, + "id": 3010, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@supportsInterface_3981": { + "entryPoint": 821, + "id": 3981, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@verifier_3317": { + "entryPoint": 1618, + "id": 3317, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@verifyCallResultFromTarget_2942": { + "entryPoint": 6929, + "id": 2942, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10465, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9298, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11403, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13768, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 7901, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9697, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 13656, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 9137, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 13310, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_payable": { + "entryPoint": 10356, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_payable_fromMemory": { + "entryPoint": 12931, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10570, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9433, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11538, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13903, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bool_fromMemory": { + "entryPoint": 9996, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes32": { + "entryPoint": 10444, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4": { + "entryPoint": 7567, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_calldata_ptr": { + "entryPoint": 8227, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 7967, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9763, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10294, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 13722, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 8997, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 10187, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 13331, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_payable_fromMemory": { + "entryPoint": 12952, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11584, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr": { + "entryPoint": 9479, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13949, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 10017, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes32": { + "entryPoint": 11930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes4": { + "entryPoint": 7588, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_calldata_ptr": { + "entryPoint": 8313, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_address": { + "entryPoint": 9158, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr": { + "entryPoint": 8624, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_uint256": { + "entryPoint": 9018, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_bytes_memory_ptr": { + "entryPoint": 8013, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9809, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr": { + "entryPoint": 10616, + "id": null, + "parameterSlots": 2, + "returnSlots": 6 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 10208, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32": { + "entryPoint": 10900, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { + "entryPoint": 11149, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 14353, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 8161, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10937, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 11182, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 14386, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 7645, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32": { + "entryPoint": 10885, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 8096, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { + "entryPoint": 13133, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 14091, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 12789, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9616, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { + "entryPoint": 11092, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8823, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9882, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 13211, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack": { + "entryPoint": 8582, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack": { + "entryPoint": 8522, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack": { + "entryPoint": 8932, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 14296, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 14905, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12576, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12243, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack": { + "entryPoint": 10120, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12016, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack": { + "entryPoint": 13496, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12389, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack": { + "entryPoint": 14648, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 11794, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12722, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 8400, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 13156, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 13260, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 12997, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 14022, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__fromStack_reversed": { + "entryPoint": 11299, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 14503, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 12456, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 11698, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 7660, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 13283, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed": { + "entryPoint": 8176, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 9661, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed": { + "entryPoint": 12834, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 9939, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 8880, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed": { + "entryPoint": 8597, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed": { + "entryPoint": 8537, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 14106, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed": { + "entryPoint": 8947, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 14962, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12611, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12278, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10155, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 13531, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12424, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 14683, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 11829, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12757, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 8415, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed": { + "entryPoint": 13376, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 11657, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 7810, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 7480, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10377, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9254, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 13563, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 7837, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 13607, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10869, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11059, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14252, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_bytes_calldata_ptr": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10841, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11031, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14224, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_calldata_ptr": { + "entryPoint": 12083, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 8753, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 14268, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10924, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11169, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14373, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10852, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 11042, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 14235, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr": { + "entryPoint": 11075, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8764, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9599, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 13200, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 14279, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 10062, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "calldata_array_index_range_access_t_bytes_calldata_ptr": { + "entryPoint": 11871, + "id": null, + "parameterSlots": 4, + "returnSlots": 2 + }, + "checked_add_t_uint256": { + "entryPoint": 13071, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_mul_t_uint256": { + "entryPoint": 14839, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 14715, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 8143, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address_payable": { + "entryPoint": 10315, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 7633, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 8086, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 7500, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10253, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 8111, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 8390, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4": { + "entryPoint": 12107, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "convert_t_contract$_ENS_$1030_to_t_address": { + "entryPoint": 8564, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_contract$_IEVMVerifier_$798_to_t_address": { + "entryPoint": 8504, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_contract$_INameWrapper_$2401_to_t_address": { + "entryPoint": 8914, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_uint160_to_t_address": { + "entryPoint": 8486, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_uint160_to_t_uint160": { + "entryPoint": 8452, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 7886, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 8781, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 7761, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 8442, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "increment_t_uint256": { + "entryPoint": 14767, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "leftAlign_t_bytes32": { + "entryPoint": 13123, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 13024, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 12884, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 7714, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 8217, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 7687, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c": { + "entryPoint": 11866, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a": { + "entryPoint": 11861, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 8222, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 7692, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 7495, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 7490, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 7697, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 12094, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1": { + "entryPoint": 12497, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92": { + "entryPoint": 12202, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28": { + "entryPoint": 10079, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f": { + "entryPoint": 11975, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c": { + "entryPoint": 13417, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f": { + "entryPoint": 12310, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad": { + "entryPoint": 14607, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a": { + "entryPoint": 11753, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838": { + "entryPoint": 12643, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 9114, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address_payable": { + "entryPoint": 10333, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 9973, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 10421, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes4": { + "entryPoint": 7544, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10271, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 8974, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:58796:21", + "nodeType": "YulBlock", + "src": "0:58796:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "378:105:21", + "nodeType": "YulBlock", + "src": "378:105:21", + "statements": [ + { + "nativeSrc": "388:89:21", + "nodeType": "YulAssignment", + "src": "388:89:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "403:5:21", + "nodeType": "YulIdentifier", + "src": "403:5:21" + }, + { + "kind": "number", + "nativeSrc": "410:66:21", + "nodeType": "YulLiteral", + "src": "410:66:21", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "399:3:21", + "nodeType": "YulIdentifier", + "src": "399:3:21" + }, + "nativeSrc": "399:78:21", + "nodeType": "YulFunctionCall", + "src": "399:78:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "388:7:21", + "nodeType": "YulIdentifier", + "src": "388:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "334:149:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "360:5:21", + "nodeType": "YulTypedName", + "src": "360:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "370:7:21", + "nodeType": "YulTypedName", + "src": "370:7:21", + "type": "" + } + ], + "src": "334:149:21" + }, + { + "body": { + "nativeSrc": "531:78:21", + "nodeType": "YulBlock", + "src": "531:78:21", + "statements": [ + { + "body": { + "nativeSrc": "587:16:21", + "nodeType": "YulBlock", + "src": "587:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "596:1:21", + "nodeType": "YulLiteral", + "src": "596:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "599:1:21", + "nodeType": "YulLiteral", + "src": "599:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "589:6:21", + "nodeType": "YulIdentifier", + "src": "589:6:21" + }, + "nativeSrc": "589:12:21", + "nodeType": "YulFunctionCall", + "src": "589:12:21" + }, + "nativeSrc": "589:12:21", + "nodeType": "YulExpressionStatement", + "src": "589:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "554:5:21", + "nodeType": "YulIdentifier", + "src": "554:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "578:5:21", + "nodeType": "YulIdentifier", + "src": "578:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "561:16:21", + "nodeType": "YulIdentifier", + "src": "561:16:21" + }, + "nativeSrc": "561:23:21", + "nodeType": "YulFunctionCall", + "src": "561:23:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "551:2:21", + "nodeType": "YulIdentifier", + "src": "551:2:21" + }, + "nativeSrc": "551:34:21", + "nodeType": "YulFunctionCall", + "src": "551:34:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "544:6:21", + "nodeType": "YulIdentifier", + "src": "544:6:21" + }, + "nativeSrc": "544:42:21", + "nodeType": "YulFunctionCall", + "src": "544:42:21" + }, + "nativeSrc": "541:62:21", + "nodeType": "YulIf", + "src": "541:62:21" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nativeSrc": "489:120:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "524:5:21", + "nodeType": "YulTypedName", + "src": "524:5:21", + "type": "" + } + ], + "src": "489:120:21" + }, + { + "body": { + "nativeSrc": "666:86:21", + "nodeType": "YulBlock", + "src": "666:86:21", + "statements": [ + { + "nativeSrc": "676:29:21", + "nodeType": "YulAssignment", + "src": "676:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "698:6:21", + "nodeType": "YulIdentifier", + "src": "698:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "685:12:21", + "nodeType": "YulIdentifier", + "src": "685:12:21" + }, + "nativeSrc": "685:20:21", + "nodeType": "YulFunctionCall", + "src": "685:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "676:5:21", + "nodeType": "YulIdentifier", + "src": "676:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "740:5:21", + "nodeType": "YulIdentifier", + "src": "740:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "714:25:21", + "nodeType": "YulIdentifier", + "src": "714:25:21" + }, + "nativeSrc": "714:32:21", + "nodeType": "YulFunctionCall", + "src": "714:32:21" + }, + "nativeSrc": "714:32:21", + "nodeType": "YulExpressionStatement", + "src": "714:32:21" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nativeSrc": "615:137:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "644:6:21", + "nodeType": "YulTypedName", + "src": "644:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "652:3:21", + "nodeType": "YulTypedName", + "src": "652:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "660:5:21", + "nodeType": "YulTypedName", + "src": "660:5:21", + "type": "" + } + ], + "src": "615:137:21" + }, + { + "body": { + "nativeSrc": "823:262:21", + "nodeType": "YulBlock", + "src": "823:262:21", + "statements": [ + { + "body": { + "nativeSrc": "869:83:21", + "nodeType": "YulBlock", + "src": "869:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "871:77:21", + "nodeType": "YulIdentifier", + "src": "871:77:21" + }, + "nativeSrc": "871:79:21", + "nodeType": "YulFunctionCall", + "src": "871:79:21" + }, + "nativeSrc": "871:79:21", + "nodeType": "YulExpressionStatement", + "src": "871:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "844:7:21", + "nodeType": "YulIdentifier", + "src": "844:7:21" + }, + { + "name": "headStart", + "nativeSrc": "853:9:21", + "nodeType": "YulIdentifier", + "src": "853:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "840:3:21", + "nodeType": "YulIdentifier", + "src": "840:3:21" + }, + "nativeSrc": "840:23:21", + "nodeType": "YulFunctionCall", + "src": "840:23:21" + }, + { + "kind": "number", + "nativeSrc": "865:2:21", + "nodeType": "YulLiteral", + "src": "865:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "836:3:21", + "nodeType": "YulIdentifier", + "src": "836:3:21" + }, + "nativeSrc": "836:32:21", + "nodeType": "YulFunctionCall", + "src": "836:32:21" + }, + "nativeSrc": "833:119:21", + "nodeType": "YulIf", + "src": "833:119:21" + }, + { + "nativeSrc": "962:116:21", + "nodeType": "YulBlock", + "src": "962:116:21", + "statements": [ + { + "nativeSrc": "977:15:21", + "nodeType": "YulVariableDeclaration", + "src": "977:15:21", + "value": { + "kind": "number", + "nativeSrc": "991:1:21", + "nodeType": "YulLiteral", + "src": "991:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "981:6:21", + "nodeType": "YulTypedName", + "src": "981:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "1006:62:21", + "nodeType": "YulAssignment", + "src": "1006:62:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1040:9:21", + "nodeType": "YulIdentifier", + "src": "1040:9:21" + }, + { + "name": "offset", + "nativeSrc": "1051:6:21", + "nodeType": "YulIdentifier", + "src": "1051:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1036:3:21", + "nodeType": "YulIdentifier", + "src": "1036:3:21" + }, + "nativeSrc": "1036:22:21", + "nodeType": "YulFunctionCall", + "src": "1036:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "1060:7:21", + "nodeType": "YulIdentifier", + "src": "1060:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "1016:19:21", + "nodeType": "YulIdentifier", + "src": "1016:19:21" + }, + "nativeSrc": "1016:52:21", + "nodeType": "YulFunctionCall", + "src": "1016:52:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1006:6:21", + "nodeType": "YulIdentifier", + "src": "1006:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nativeSrc": "758:327:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "793:9:21", + "nodeType": "YulTypedName", + "src": "793:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "804:7:21", + "nodeType": "YulTypedName", + "src": "804:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "816:6:21", + "nodeType": "YulTypedName", + "src": "816:6:21", + "type": "" + } + ], + "src": "758:327:21" + }, + { + "body": { + "nativeSrc": "1133:48:21", + "nodeType": "YulBlock", + "src": "1133:48:21", + "statements": [ + { + "nativeSrc": "1143:32:21", + "nodeType": "YulAssignment", + "src": "1143:32:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1168:5:21", + "nodeType": "YulIdentifier", + "src": "1168:5:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1161:6:21", + "nodeType": "YulIdentifier", + "src": "1161:6:21" + }, + "nativeSrc": "1161:13:21", + "nodeType": "YulFunctionCall", + "src": "1161:13:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1154:6:21", + "nodeType": "YulIdentifier", + "src": "1154:6:21" + }, + "nativeSrc": "1154:21:21", + "nodeType": "YulFunctionCall", + "src": "1154:21:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1143:7:21", + "nodeType": "YulIdentifier", + "src": "1143:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1091:90:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1115:5:21", + "nodeType": "YulTypedName", + "src": "1115:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1125:7:21", + "nodeType": "YulTypedName", + "src": "1125:7:21", + "type": "" + } + ], + "src": "1091:90:21" + }, + { + "body": { + "nativeSrc": "1246:50:21", + "nodeType": "YulBlock", + "src": "1246:50:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1263:3:21", + "nodeType": "YulIdentifier", + "src": "1263:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1283:5:21", + "nodeType": "YulIdentifier", + "src": "1283:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1268:14:21", + "nodeType": "YulIdentifier", + "src": "1268:14:21" + }, + "nativeSrc": "1268:21:21", + "nodeType": "YulFunctionCall", + "src": "1268:21:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1256:6:21", + "nodeType": "YulIdentifier", + "src": "1256:6:21" + }, + "nativeSrc": "1256:34:21", + "nodeType": "YulFunctionCall", + "src": "1256:34:21" + }, + "nativeSrc": "1256:34:21", + "nodeType": "YulExpressionStatement", + "src": "1256:34:21" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1187:109:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1234:5:21", + "nodeType": "YulTypedName", + "src": "1234:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1241:3:21", + "nodeType": "YulTypedName", + "src": "1241:3:21", + "type": "" + } + ], + "src": "1187:109:21" + }, + { + "body": { + "nativeSrc": "1394:118:21", + "nodeType": "YulBlock", + "src": "1394:118:21", + "statements": [ + { + "nativeSrc": "1404:26:21", + "nodeType": "YulAssignment", + "src": "1404:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1416:9:21", + "nodeType": "YulIdentifier", + "src": "1416:9:21" + }, + { + "kind": "number", + "nativeSrc": "1427:2:21", + "nodeType": "YulLiteral", + "src": "1427:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1412:3:21", + "nodeType": "YulIdentifier", + "src": "1412:3:21" + }, + "nativeSrc": "1412:18:21", + "nodeType": "YulFunctionCall", + "src": "1412:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1404:4:21", + "nodeType": "YulIdentifier", + "src": "1404:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1478:6:21", + "nodeType": "YulIdentifier", + "src": "1478:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1491:9:21", + "nodeType": "YulIdentifier", + "src": "1491:9:21" + }, + { + "kind": "number", + "nativeSrc": "1502:1:21", + "nodeType": "YulLiteral", + "src": "1502:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1487:3:21", + "nodeType": "YulIdentifier", + "src": "1487:3:21" + }, + "nativeSrc": "1487:17:21", + "nodeType": "YulFunctionCall", + "src": "1487:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1440:37:21", + "nodeType": "YulIdentifier", + "src": "1440:37:21" + }, + "nativeSrc": "1440:65:21", + "nodeType": "YulFunctionCall", + "src": "1440:65:21" + }, + "nativeSrc": "1440:65:21", + "nodeType": "YulExpressionStatement", + "src": "1440:65:21" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1302:210:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1366:9:21", + "nodeType": "YulTypedName", + "src": "1366:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1378:6:21", + "nodeType": "YulTypedName", + "src": "1378:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1389:4:21", + "nodeType": "YulTypedName", + "src": "1389:4:21", + "type": "" + } + ], + "src": "1302:210:21" + }, + { + "body": { + "nativeSrc": "1607:28:21", + "nodeType": "YulBlock", + "src": "1607:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1624:1:21", + "nodeType": "YulLiteral", + "src": "1624:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1627:1:21", + "nodeType": "YulLiteral", + "src": "1627:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1617:6:21", + "nodeType": "YulIdentifier", + "src": "1617:6:21" + }, + "nativeSrc": "1617:12:21", + "nodeType": "YulFunctionCall", + "src": "1617:12:21" + }, + "nativeSrc": "1617:12:21", + "nodeType": "YulExpressionStatement", + "src": "1617:12:21" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "1518:117:21", + "nodeType": "YulFunctionDefinition", + "src": "1518:117:21" + }, + { + "body": { + "nativeSrc": "1730:28:21", + "nodeType": "YulBlock", + "src": "1730:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1747:1:21", + "nodeType": "YulLiteral", + "src": "1747:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1750:1:21", + "nodeType": "YulLiteral", + "src": "1750:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1740:6:21", + "nodeType": "YulIdentifier", + "src": "1740:6:21" + }, + "nativeSrc": "1740:12:21", + "nodeType": "YulFunctionCall", + "src": "1740:12:21" + }, + "nativeSrc": "1740:12:21", + "nodeType": "YulExpressionStatement", + "src": "1740:12:21" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "1641:117:21", + "nodeType": "YulFunctionDefinition", + "src": "1641:117:21" + }, + { + "body": { + "nativeSrc": "1812:54:21", + "nodeType": "YulBlock", + "src": "1812:54:21", + "statements": [ + { + "nativeSrc": "1822:38:21", + "nodeType": "YulAssignment", + "src": "1822:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1840:5:21", + "nodeType": "YulIdentifier", + "src": "1840:5:21" + }, + { + "kind": "number", + "nativeSrc": "1847:2:21", + "nodeType": "YulLiteral", + "src": "1847:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1836:3:21", + "nodeType": "YulIdentifier", + "src": "1836:3:21" + }, + "nativeSrc": "1836:14:21", + "nodeType": "YulFunctionCall", + "src": "1836:14:21" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1856:2:21", + "nodeType": "YulLiteral", + "src": "1856:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1852:3:21", + "nodeType": "YulIdentifier", + "src": "1852:3:21" + }, + "nativeSrc": "1852:7:21", + "nodeType": "YulFunctionCall", + "src": "1852:7:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1832:3:21", + "nodeType": "YulIdentifier", + "src": "1832:3:21" + }, + "nativeSrc": "1832:28:21", + "nodeType": "YulFunctionCall", + "src": "1832:28:21" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1822:6:21", + "nodeType": "YulIdentifier", + "src": "1822:6:21" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "1764:102:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1795:5:21", + "nodeType": "YulTypedName", + "src": "1795:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1805:6:21", + "nodeType": "YulTypedName", + "src": "1805:6:21", + "type": "" + } + ], + "src": "1764:102:21" + }, + { + "body": { + "nativeSrc": "1900:152:21", + "nodeType": "YulBlock", + "src": "1900:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1917:1:21", + "nodeType": "YulLiteral", + "src": "1917:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1920:77:21", + "nodeType": "YulLiteral", + "src": "1920:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1910:6:21", + "nodeType": "YulIdentifier", + "src": "1910:6:21" + }, + "nativeSrc": "1910:88:21", + "nodeType": "YulFunctionCall", + "src": "1910:88:21" + }, + "nativeSrc": "1910:88:21", + "nodeType": "YulExpressionStatement", + "src": "1910:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2014:1:21", + "nodeType": "YulLiteral", + "src": "2014:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2017:4:21", + "nodeType": "YulLiteral", + "src": "2017:4:21", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2007:6:21", + "nodeType": "YulIdentifier", + "src": "2007:6:21" + }, + "nativeSrc": "2007:15:21", + "nodeType": "YulFunctionCall", + "src": "2007:15:21" + }, + "nativeSrc": "2007:15:21", + "nodeType": "YulExpressionStatement", + "src": "2007:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2038:1:21", + "nodeType": "YulLiteral", + "src": "2038:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2041:4:21", + "nodeType": "YulLiteral", + "src": "2041:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2031:6:21", + "nodeType": "YulIdentifier", + "src": "2031:6:21" + }, + "nativeSrc": "2031:15:21", + "nodeType": "YulFunctionCall", + "src": "2031:15:21" + }, + "nativeSrc": "2031:15:21", + "nodeType": "YulExpressionStatement", + "src": "2031:15:21" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "1872:180:21", + "nodeType": "YulFunctionDefinition", + "src": "1872:180:21" + }, + { + "body": { + "nativeSrc": "2101:238:21", + "nodeType": "YulBlock", + "src": "2101:238:21", + "statements": [ + { + "nativeSrc": "2111:58:21", + "nodeType": "YulVariableDeclaration", + "src": "2111:58:21", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2133:6:21", + "nodeType": "YulIdentifier", + "src": "2133:6:21" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "2163:4:21", + "nodeType": "YulIdentifier", + "src": "2163:4:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2141:21:21", + "nodeType": "YulIdentifier", + "src": "2141:21:21" + }, + "nativeSrc": "2141:27:21", + "nodeType": "YulFunctionCall", + "src": "2141:27:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2129:3:21", + "nodeType": "YulIdentifier", + "src": "2129:3:21" + }, + "nativeSrc": "2129:40:21", + "nodeType": "YulFunctionCall", + "src": "2129:40:21" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "2115:10:21", + "nodeType": "YulTypedName", + "src": "2115:10:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2280:22:21", + "nodeType": "YulBlock", + "src": "2280:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2282:16:21", + "nodeType": "YulIdentifier", + "src": "2282:16:21" + }, + "nativeSrc": "2282:18:21", + "nodeType": "YulFunctionCall", + "src": "2282:18:21" + }, + "nativeSrc": "2282:18:21", + "nodeType": "YulExpressionStatement", + "src": "2282:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2223:10:21", + "nodeType": "YulIdentifier", + "src": "2223:10:21" + }, + { + "kind": "number", + "nativeSrc": "2235:18:21", + "nodeType": "YulLiteral", + "src": "2235:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2220:2:21", + "nodeType": "YulIdentifier", + "src": "2220:2:21" + }, + "nativeSrc": "2220:34:21", + "nodeType": "YulFunctionCall", + "src": "2220:34:21" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2259:10:21", + "nodeType": "YulIdentifier", + "src": "2259:10:21" + }, + { + "name": "memPtr", + "nativeSrc": "2271:6:21", + "nodeType": "YulIdentifier", + "src": "2271:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2256:2:21", + "nodeType": "YulIdentifier", + "src": "2256:2:21" + }, + "nativeSrc": "2256:22:21", + "nodeType": "YulFunctionCall", + "src": "2256:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2217:2:21", + "nodeType": "YulIdentifier", + "src": "2217:2:21" + }, + "nativeSrc": "2217:62:21", + "nodeType": "YulFunctionCall", + "src": "2217:62:21" + }, + "nativeSrc": "2214:88:21", + "nodeType": "YulIf", + "src": "2214:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2318:2:21", + "nodeType": "YulLiteral", + "src": "2318:2:21", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2322:10:21", + "nodeType": "YulIdentifier", + "src": "2322:10:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2311:6:21", + "nodeType": "YulIdentifier", + "src": "2311:6:21" + }, + "nativeSrc": "2311:22:21", + "nodeType": "YulFunctionCall", + "src": "2311:22:21" + }, + "nativeSrc": "2311:22:21", + "nodeType": "YulExpressionStatement", + "src": "2311:22:21" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "2058:281:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "2087:6:21", + "nodeType": "YulTypedName", + "src": "2087:6:21", + "type": "" + }, + { + "name": "size", + "nativeSrc": "2095:4:21", + "nodeType": "YulTypedName", + "src": "2095:4:21", + "type": "" + } + ], + "src": "2058:281:21" + }, + { + "body": { + "nativeSrc": "2386:88:21", + "nodeType": "YulBlock", + "src": "2386:88:21", + "statements": [ + { + "nativeSrc": "2396:30:21", + "nodeType": "YulAssignment", + "src": "2396:30:21", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "2406:18:21", + "nodeType": "YulIdentifier", + "src": "2406:18:21" + }, + "nativeSrc": "2406:20:21", + "nodeType": "YulFunctionCall", + "src": "2406:20:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "2396:6:21", + "nodeType": "YulIdentifier", + "src": "2396:6:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2455:6:21", + "nodeType": "YulIdentifier", + "src": "2455:6:21" + }, + { + "name": "size", + "nativeSrc": "2463:4:21", + "nodeType": "YulIdentifier", + "src": "2463:4:21" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "2435:19:21", + "nodeType": "YulIdentifier", + "src": "2435:19:21" + }, + "nativeSrc": "2435:33:21", + "nodeType": "YulFunctionCall", + "src": "2435:33:21" + }, + "nativeSrc": "2435:33:21", + "nodeType": "YulExpressionStatement", + "src": "2435:33:21" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "2345:129:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "2370:4:21", + "nodeType": "YulTypedName", + "src": "2370:4:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "2379:6:21", + "nodeType": "YulTypedName", + "src": "2379:6:21", + "type": "" + } + ], + "src": "2345:129:21" + }, + { + "body": { + "nativeSrc": "2546:241:21", + "nodeType": "YulBlock", + "src": "2546:241:21", + "statements": [ + { + "body": { + "nativeSrc": "2651:22:21", + "nodeType": "YulBlock", + "src": "2651:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2653:16:21", + "nodeType": "YulIdentifier", + "src": "2653:16:21" + }, + "nativeSrc": "2653:18:21", + "nodeType": "YulFunctionCall", + "src": "2653:18:21" + }, + "nativeSrc": "2653:18:21", + "nodeType": "YulExpressionStatement", + "src": "2653:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2623:6:21", + "nodeType": "YulIdentifier", + "src": "2623:6:21" + }, + { + "kind": "number", + "nativeSrc": "2631:18:21", + "nodeType": "YulLiteral", + "src": "2631:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2620:2:21", + "nodeType": "YulIdentifier", + "src": "2620:2:21" + }, + "nativeSrc": "2620:30:21", + "nodeType": "YulFunctionCall", + "src": "2620:30:21" + }, + "nativeSrc": "2617:56:21", + "nodeType": "YulIf", + "src": "2617:56:21" + }, + { + "nativeSrc": "2683:37:21", + "nodeType": "YulAssignment", + "src": "2683:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2713:6:21", + "nodeType": "YulIdentifier", + "src": "2713:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2691:21:21", + "nodeType": "YulIdentifier", + "src": "2691:21:21" + }, + "nativeSrc": "2691:29:21", + "nodeType": "YulFunctionCall", + "src": "2691:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "2683:4:21", + "nodeType": "YulIdentifier", + "src": "2683:4:21" + } + ] + }, + { + "nativeSrc": "2757:23:21", + "nodeType": "YulAssignment", + "src": "2757:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "2769:4:21", + "nodeType": "YulIdentifier", + "src": "2769:4:21" + }, + { + "kind": "number", + "nativeSrc": "2775:4:21", + "nodeType": "YulLiteral", + "src": "2775:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2765:3:21", + "nodeType": "YulIdentifier", + "src": "2765:3:21" + }, + "nativeSrc": "2765:15:21", + "nodeType": "YulFunctionCall", + "src": "2765:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "2757:4:21", + "nodeType": "YulIdentifier", + "src": "2757:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "2480:307:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "2530:6:21", + "nodeType": "YulTypedName", + "src": "2530:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "2541:4:21", + "nodeType": "YulTypedName", + "src": "2541:4:21", + "type": "" + } + ], + "src": "2480:307:21" + }, + { + "body": { + "nativeSrc": "2857:84:21", + "nodeType": "YulBlock", + "src": "2857:84:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2881:3:21", + "nodeType": "YulIdentifier", + "src": "2881:3:21" + }, + { + "name": "src", + "nativeSrc": "2886:3:21", + "nodeType": "YulIdentifier", + "src": "2886:3:21" + }, + { + "name": "length", + "nativeSrc": "2891:6:21", + "nodeType": "YulIdentifier", + "src": "2891:6:21" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "2868:12:21", + "nodeType": "YulIdentifier", + "src": "2868:12:21" + }, + "nativeSrc": "2868:30:21", + "nodeType": "YulFunctionCall", + "src": "2868:30:21" + }, + "nativeSrc": "2868:30:21", + "nodeType": "YulExpressionStatement", + "src": "2868:30:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2918:3:21", + "nodeType": "YulIdentifier", + "src": "2918:3:21" + }, + { + "name": "length", + "nativeSrc": "2923:6:21", + "nodeType": "YulIdentifier", + "src": "2923:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2914:3:21", + "nodeType": "YulIdentifier", + "src": "2914:3:21" + }, + "nativeSrc": "2914:16:21", + "nodeType": "YulFunctionCall", + "src": "2914:16:21" + }, + { + "kind": "number", + "nativeSrc": "2932:1:21", + "nodeType": "YulLiteral", + "src": "2932:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2907:6:21", + "nodeType": "YulIdentifier", + "src": "2907:6:21" + }, + "nativeSrc": "2907:27:21", + "nodeType": "YulFunctionCall", + "src": "2907:27:21" + }, + "nativeSrc": "2907:27:21", + "nodeType": "YulExpressionStatement", + "src": "2907:27:21" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2793:148:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "2839:3:21", + "nodeType": "YulTypedName", + "src": "2839:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "2844:3:21", + "nodeType": "YulTypedName", + "src": "2844:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2849:6:21", + "nodeType": "YulTypedName", + "src": "2849:6:21", + "type": "" + } + ], + "src": "2793:148:21" + }, + { + "body": { + "nativeSrc": "3030:340:21", + "nodeType": "YulBlock", + "src": "3030:340:21", + "statements": [ + { + "nativeSrc": "3040:74:21", + "nodeType": "YulAssignment", + "src": "3040:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3106:6:21", + "nodeType": "YulIdentifier", + "src": "3106:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "3065:40:21", + "nodeType": "YulIdentifier", + "src": "3065:40:21" + }, + "nativeSrc": "3065:48:21", + "nodeType": "YulFunctionCall", + "src": "3065:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "3049:15:21", + "nodeType": "YulIdentifier", + "src": "3049:15:21" + }, + "nativeSrc": "3049:65:21", + "nodeType": "YulFunctionCall", + "src": "3049:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3040:5:21", + "nodeType": "YulIdentifier", + "src": "3040:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3130:5:21", + "nodeType": "YulIdentifier", + "src": "3130:5:21" + }, + { + "name": "length", + "nativeSrc": "3137:6:21", + "nodeType": "YulIdentifier", + "src": "3137:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3123:6:21", + "nodeType": "YulIdentifier", + "src": "3123:6:21" + }, + "nativeSrc": "3123:21:21", + "nodeType": "YulFunctionCall", + "src": "3123:21:21" + }, + "nativeSrc": "3123:21:21", + "nodeType": "YulExpressionStatement", + "src": "3123:21:21" + }, + { + "nativeSrc": "3153:27:21", + "nodeType": "YulVariableDeclaration", + "src": "3153:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3168:5:21", + "nodeType": "YulIdentifier", + "src": "3168:5:21" + }, + { + "kind": "number", + "nativeSrc": "3175:4:21", + "nodeType": "YulLiteral", + "src": "3175:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3164:3:21", + "nodeType": "YulIdentifier", + "src": "3164:3:21" + }, + "nativeSrc": "3164:16:21", + "nodeType": "YulFunctionCall", + "src": "3164:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "3157:3:21", + "nodeType": "YulTypedName", + "src": "3157:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3218:83:21", + "nodeType": "YulBlock", + "src": "3218:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "3220:77:21", + "nodeType": "YulIdentifier", + "src": "3220:77:21" + }, + "nativeSrc": "3220:79:21", + "nodeType": "YulFunctionCall", + "src": "3220:79:21" + }, + "nativeSrc": "3220:79:21", + "nodeType": "YulExpressionStatement", + "src": "3220:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "3199:3:21", + "nodeType": "YulIdentifier", + "src": "3199:3:21" + }, + { + "name": "length", + "nativeSrc": "3204:6:21", + "nodeType": "YulIdentifier", + "src": "3204:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3195:3:21", + "nodeType": "YulIdentifier", + "src": "3195:3:21" + }, + "nativeSrc": "3195:16:21", + "nodeType": "YulFunctionCall", + "src": "3195:16:21" + }, + { + "name": "end", + "nativeSrc": "3213:3:21", + "nodeType": "YulIdentifier", + "src": "3213:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3192:2:21", + "nodeType": "YulIdentifier", + "src": "3192:2:21" + }, + "nativeSrc": "3192:25:21", + "nodeType": "YulFunctionCall", + "src": "3192:25:21" + }, + "nativeSrc": "3189:112:21", + "nodeType": "YulIf", + "src": "3189:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "3347:3:21", + "nodeType": "YulIdentifier", + "src": "3347:3:21" + }, + { + "name": "dst", + "nativeSrc": "3352:3:21", + "nodeType": "YulIdentifier", + "src": "3352:3:21" + }, + { + "name": "length", + "nativeSrc": "3357:6:21", + "nodeType": "YulIdentifier", + "src": "3357:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "3310:36:21", + "nodeType": "YulIdentifier", + "src": "3310:36:21" + }, + "nativeSrc": "3310:54:21", + "nodeType": "YulFunctionCall", + "src": "3310:54:21" + }, + "nativeSrc": "3310:54:21", + "nodeType": "YulExpressionStatement", + "src": "3310:54:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "2947:423:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "3003:3:21", + "nodeType": "YulTypedName", + "src": "3003:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3008:6:21", + "nodeType": "YulTypedName", + "src": "3008:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3016:3:21", + "nodeType": "YulTypedName", + "src": "3016:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3024:5:21", + "nodeType": "YulTypedName", + "src": "3024:5:21", + "type": "" + } + ], + "src": "2947:423:21" + }, + { + "body": { + "nativeSrc": "3450:277:21", + "nodeType": "YulBlock", + "src": "3450:277:21", + "statements": [ + { + "body": { + "nativeSrc": "3499:83:21", + "nodeType": "YulBlock", + "src": "3499:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3501:77:21", + "nodeType": "YulIdentifier", + "src": "3501:77:21" + }, + "nativeSrc": "3501:79:21", + "nodeType": "YulFunctionCall", + "src": "3501:79:21" + }, + "nativeSrc": "3501:79:21", + "nodeType": "YulExpressionStatement", + "src": "3501:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3478:6:21", + "nodeType": "YulIdentifier", + "src": "3478:6:21" + }, + { + "kind": "number", + "nativeSrc": "3486:4:21", + "nodeType": "YulLiteral", + "src": "3486:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3474:3:21", + "nodeType": "YulIdentifier", + "src": "3474:3:21" + }, + "nativeSrc": "3474:17:21", + "nodeType": "YulFunctionCall", + "src": "3474:17:21" + }, + { + "name": "end", + "nativeSrc": "3493:3:21", + "nodeType": "YulIdentifier", + "src": "3493:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3470:3:21", + "nodeType": "YulIdentifier", + "src": "3470:3:21" + }, + "nativeSrc": "3470:27:21", + "nodeType": "YulFunctionCall", + "src": "3470:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3463:6:21", + "nodeType": "YulIdentifier", + "src": "3463:6:21" + }, + "nativeSrc": "3463:35:21", + "nodeType": "YulFunctionCall", + "src": "3463:35:21" + }, + "nativeSrc": "3460:122:21", + "nodeType": "YulIf", + "src": "3460:122:21" + }, + { + "nativeSrc": "3591:34:21", + "nodeType": "YulVariableDeclaration", + "src": "3591:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3618:6:21", + "nodeType": "YulIdentifier", + "src": "3618:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3605:12:21", + "nodeType": "YulIdentifier", + "src": "3605:12:21" + }, + "nativeSrc": "3605:20:21", + "nodeType": "YulFunctionCall", + "src": "3605:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3595:6:21", + "nodeType": "YulTypedName", + "src": "3595:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3634:87:21", + "nodeType": "YulAssignment", + "src": "3634:87:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3694:6:21", + "nodeType": "YulIdentifier", + "src": "3694:6:21" + }, + { + "kind": "number", + "nativeSrc": "3702:4:21", + "nodeType": "YulLiteral", + "src": "3702:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3690:3:21", + "nodeType": "YulIdentifier", + "src": "3690:3:21" + }, + "nativeSrc": "3690:17:21", + "nodeType": "YulFunctionCall", + "src": "3690:17:21" + }, + { + "name": "length", + "nativeSrc": "3709:6:21", + "nodeType": "YulIdentifier", + "src": "3709:6:21" + }, + { + "name": "end", + "nativeSrc": "3717:3:21", + "nodeType": "YulIdentifier", + "src": "3717:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "3643:46:21", + "nodeType": "YulIdentifier", + "src": "3643:46:21" + }, + "nativeSrc": "3643:78:21", + "nodeType": "YulFunctionCall", + "src": "3643:78:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3634:5:21", + "nodeType": "YulIdentifier", + "src": "3634:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "3389:338:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3428:6:21", + "nodeType": "YulTypedName", + "src": "3428:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3436:3:21", + "nodeType": "YulTypedName", + "src": "3436:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3444:5:21", + "nodeType": "YulTypedName", + "src": "3444:5:21", + "type": "" + } + ], + "src": "3389:338:21" + }, + { + "body": { + "nativeSrc": "3808:432:21", + "nodeType": "YulBlock", + "src": "3808:432:21", + "statements": [ + { + "body": { + "nativeSrc": "3854:83:21", + "nodeType": "YulBlock", + "src": "3854:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3856:77:21", + "nodeType": "YulIdentifier", + "src": "3856:77:21" + }, + "nativeSrc": "3856:79:21", + "nodeType": "YulFunctionCall", + "src": "3856:79:21" + }, + "nativeSrc": "3856:79:21", + "nodeType": "YulExpressionStatement", + "src": "3856:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3829:7:21", + "nodeType": "YulIdentifier", + "src": "3829:7:21" + }, + { + "name": "headStart", + "nativeSrc": "3838:9:21", + "nodeType": "YulIdentifier", + "src": "3838:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3825:3:21", + "nodeType": "YulIdentifier", + "src": "3825:3:21" + }, + "nativeSrc": "3825:23:21", + "nodeType": "YulFunctionCall", + "src": "3825:23:21" + }, + { + "kind": "number", + "nativeSrc": "3850:2:21", + "nodeType": "YulLiteral", + "src": "3850:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3821:3:21", + "nodeType": "YulIdentifier", + "src": "3821:3:21" + }, + "nativeSrc": "3821:32:21", + "nodeType": "YulFunctionCall", + "src": "3821:32:21" + }, + "nativeSrc": "3818:119:21", + "nodeType": "YulIf", + "src": "3818:119:21" + }, + { + "nativeSrc": "3947:286:21", + "nodeType": "YulBlock", + "src": "3947:286:21", + "statements": [ + { + "nativeSrc": "3962:45:21", + "nodeType": "YulVariableDeclaration", + "src": "3962:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3993:9:21", + "nodeType": "YulIdentifier", + "src": "3993:9:21" + }, + { + "kind": "number", + "nativeSrc": "4004:1:21", + "nodeType": "YulLiteral", + "src": "4004:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3989:3:21", + "nodeType": "YulIdentifier", + "src": "3989:3:21" + }, + "nativeSrc": "3989:17:21", + "nodeType": "YulFunctionCall", + "src": "3989:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3976:12:21", + "nodeType": "YulIdentifier", + "src": "3976:12:21" + }, + "nativeSrc": "3976:31:21", + "nodeType": "YulFunctionCall", + "src": "3976:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3966:6:21", + "nodeType": "YulTypedName", + "src": "3966:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4054:83:21", + "nodeType": "YulBlock", + "src": "4054:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4056:77:21", + "nodeType": "YulIdentifier", + "src": "4056:77:21" + }, + "nativeSrc": "4056:79:21", + "nodeType": "YulFunctionCall", + "src": "4056:79:21" + }, + "nativeSrc": "4056:79:21", + "nodeType": "YulExpressionStatement", + "src": "4056:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4026:6:21", + "nodeType": "YulIdentifier", + "src": "4026:6:21" + }, + { + "kind": "number", + "nativeSrc": "4034:18:21", + "nodeType": "YulLiteral", + "src": "4034:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4023:2:21", + "nodeType": "YulIdentifier", + "src": "4023:2:21" + }, + "nativeSrc": "4023:30:21", + "nodeType": "YulFunctionCall", + "src": "4023:30:21" + }, + "nativeSrc": "4020:117:21", + "nodeType": "YulIf", + "src": "4020:117:21" + }, + { + "nativeSrc": "4151:72:21", + "nodeType": "YulAssignment", + "src": "4151:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4195:9:21", + "nodeType": "YulIdentifier", + "src": "4195:9:21" + }, + { + "name": "offset", + "nativeSrc": "4206:6:21", + "nodeType": "YulIdentifier", + "src": "4206:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4191:3:21", + "nodeType": "YulIdentifier", + "src": "4191:3:21" + }, + "nativeSrc": "4191:22:21", + "nodeType": "YulFunctionCall", + "src": "4191:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "4215:7:21", + "nodeType": "YulIdentifier", + "src": "4215:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "4161:29:21", + "nodeType": "YulIdentifier", + "src": "4161:29:21" + }, + "nativeSrc": "4161:62:21", + "nodeType": "YulFunctionCall", + "src": "4161:62:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4151:6:21", + "nodeType": "YulIdentifier", + "src": "4151:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nativeSrc": "3733:507:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3778:9:21", + "nodeType": "YulTypedName", + "src": "3778:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3789:7:21", + "nodeType": "YulTypedName", + "src": "3789:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3801:6:21", + "nodeType": "YulTypedName", + "src": "3801:6:21", + "type": "" + } + ], + "src": "3733:507:21" + }, + { + "body": { + "nativeSrc": "4291:32:21", + "nodeType": "YulBlock", + "src": "4291:32:21", + "statements": [ + { + "nativeSrc": "4301:16:21", + "nodeType": "YulAssignment", + "src": "4301:16:21", + "value": { + "name": "value", + "nativeSrc": "4312:5:21", + "nodeType": "YulIdentifier", + "src": "4312:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4301:7:21", + "nodeType": "YulIdentifier", + "src": "4301:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "4246:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4273:5:21", + "nodeType": "YulTypedName", + "src": "4273:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4283:7:21", + "nodeType": "YulTypedName", + "src": "4283:7:21", + "type": "" + } + ], + "src": "4246:77:21" + }, + { + "body": { + "nativeSrc": "4394:53:21", + "nodeType": "YulBlock", + "src": "4394:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4411:3:21", + "nodeType": "YulIdentifier", + "src": "4411:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4434:5:21", + "nodeType": "YulIdentifier", + "src": "4434:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "4416:17:21", + "nodeType": "YulIdentifier", + "src": "4416:17:21" + }, + "nativeSrc": "4416:24:21", + "nodeType": "YulFunctionCall", + "src": "4416:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4404:6:21", + "nodeType": "YulIdentifier", + "src": "4404:6:21" + }, + "nativeSrc": "4404:37:21", + "nodeType": "YulFunctionCall", + "src": "4404:37:21" + }, + "nativeSrc": "4404:37:21", + "nodeType": "YulExpressionStatement", + "src": "4404:37:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "4329:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4382:5:21", + "nodeType": "YulTypedName", + "src": "4382:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4389:3:21", + "nodeType": "YulTypedName", + "src": "4389:3:21", + "type": "" + } + ], + "src": "4329:118:21" + }, + { + "body": { + "nativeSrc": "4498:81:21", + "nodeType": "YulBlock", + "src": "4498:81:21", + "statements": [ + { + "nativeSrc": "4508:65:21", + "nodeType": "YulAssignment", + "src": "4508:65:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4523:5:21", + "nodeType": "YulIdentifier", + "src": "4523:5:21" + }, + { + "kind": "number", + "nativeSrc": "4530:42:21", + "nodeType": "YulLiteral", + "src": "4530:42:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4519:3:21", + "nodeType": "YulIdentifier", + "src": "4519:3:21" + }, + "nativeSrc": "4519:54:21", + "nodeType": "YulFunctionCall", + "src": "4519:54:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4508:7:21", + "nodeType": "YulIdentifier", + "src": "4508:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "4453:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4480:5:21", + "nodeType": "YulTypedName", + "src": "4480:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4490:7:21", + "nodeType": "YulTypedName", + "src": "4490:7:21", + "type": "" + } + ], + "src": "4453:126:21" + }, + { + "body": { + "nativeSrc": "4630:51:21", + "nodeType": "YulBlock", + "src": "4630:51:21", + "statements": [ + { + "nativeSrc": "4640:35:21", + "nodeType": "YulAssignment", + "src": "4640:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4669:5:21", + "nodeType": "YulIdentifier", + "src": "4669:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "4651:17:21", + "nodeType": "YulIdentifier", + "src": "4651:17:21" + }, + "nativeSrc": "4651:24:21", + "nodeType": "YulFunctionCall", + "src": "4651:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4640:7:21", + "nodeType": "YulIdentifier", + "src": "4640:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "4585:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4612:5:21", + "nodeType": "YulTypedName", + "src": "4612:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4622:7:21", + "nodeType": "YulTypedName", + "src": "4622:7:21", + "type": "" + } + ], + "src": "4585:96:21" + }, + { + "body": { + "nativeSrc": "4752:53:21", + "nodeType": "YulBlock", + "src": "4752:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4769:3:21", + "nodeType": "YulIdentifier", + "src": "4769:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4792:5:21", + "nodeType": "YulIdentifier", + "src": "4792:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4774:17:21", + "nodeType": "YulIdentifier", + "src": "4774:17:21" + }, + "nativeSrc": "4774:24:21", + "nodeType": "YulFunctionCall", + "src": "4774:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4762:6:21", + "nodeType": "YulIdentifier", + "src": "4762:6:21" + }, + "nativeSrc": "4762:37:21", + "nodeType": "YulFunctionCall", + "src": "4762:37:21" + }, + "nativeSrc": "4762:37:21", + "nodeType": "YulExpressionStatement", + "src": "4762:37:21" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4687:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4740:5:21", + "nodeType": "YulTypedName", + "src": "4740:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4747:3:21", + "nodeType": "YulTypedName", + "src": "4747:3:21", + "type": "" + } + ], + "src": "4687:118:21" + }, + { + "body": { + "nativeSrc": "4937:206:21", + "nodeType": "YulBlock", + "src": "4937:206:21", + "statements": [ + { + "nativeSrc": "4947:26:21", + "nodeType": "YulAssignment", + "src": "4947:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4959:9:21", + "nodeType": "YulIdentifier", + "src": "4959:9:21" + }, + { + "kind": "number", + "nativeSrc": "4970:2:21", + "nodeType": "YulLiteral", + "src": "4970:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4955:3:21", + "nodeType": "YulIdentifier", + "src": "4955:3:21" + }, + "nativeSrc": "4955:18:21", + "nodeType": "YulFunctionCall", + "src": "4955:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4947:4:21", + "nodeType": "YulIdentifier", + "src": "4947:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5027:6:21", + "nodeType": "YulIdentifier", + "src": "5027:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5040:9:21", + "nodeType": "YulIdentifier", + "src": "5040:9:21" + }, + { + "kind": "number", + "nativeSrc": "5051:1:21", + "nodeType": "YulLiteral", + "src": "5051:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5036:3:21", + "nodeType": "YulIdentifier", + "src": "5036:3:21" + }, + "nativeSrc": "5036:17:21", + "nodeType": "YulFunctionCall", + "src": "5036:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "4983:43:21", + "nodeType": "YulIdentifier", + "src": "4983:43:21" + }, + "nativeSrc": "4983:71:21", + "nodeType": "YulFunctionCall", + "src": "4983:71:21" + }, + "nativeSrc": "4983:71:21", + "nodeType": "YulExpressionStatement", + "src": "4983:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "5108:6:21", + "nodeType": "YulIdentifier", + "src": "5108:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5121:9:21", + "nodeType": "YulIdentifier", + "src": "5121:9:21" + }, + { + "kind": "number", + "nativeSrc": "5132:2:21", + "nodeType": "YulLiteral", + "src": "5132:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5117:3:21", + "nodeType": "YulIdentifier", + "src": "5117:3:21" + }, + "nativeSrc": "5117:18:21", + "nodeType": "YulFunctionCall", + "src": "5117:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5064:43:21", + "nodeType": "YulIdentifier", + "src": "5064:43:21" + }, + "nativeSrc": "5064:72:21", + "nodeType": "YulFunctionCall", + "src": "5064:72:21" + }, + "nativeSrc": "5064:72:21", + "nodeType": "YulExpressionStatement", + "src": "5064:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed", + "nativeSrc": "4811:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4901:9:21", + "nodeType": "YulTypedName", + "src": "4901:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4913:6:21", + "nodeType": "YulTypedName", + "src": "4913:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4921:6:21", + "nodeType": "YulTypedName", + "src": "4921:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4932:4:21", + "nodeType": "YulTypedName", + "src": "4932:4:21", + "type": "" + } + ], + "src": "4811:332:21" + }, + { + "body": { + "nativeSrc": "5238:28:21", + "nodeType": "YulBlock", + "src": "5238:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5255:1:21", + "nodeType": "YulLiteral", + "src": "5255:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5258:1:21", + "nodeType": "YulLiteral", + "src": "5258:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5248:6:21", + "nodeType": "YulIdentifier", + "src": "5248:6:21" + }, + "nativeSrc": "5248:12:21", + "nodeType": "YulFunctionCall", + "src": "5248:12:21" + }, + "nativeSrc": "5248:12:21", + "nodeType": "YulExpressionStatement", + "src": "5248:12:21" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5149:117:21", + "nodeType": "YulFunctionDefinition", + "src": "5149:117:21" + }, + { + "body": { + "nativeSrc": "5361:28:21", + "nodeType": "YulBlock", + "src": "5361:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5378:1:21", + "nodeType": "YulLiteral", + "src": "5378:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5381:1:21", + "nodeType": "YulLiteral", + "src": "5381:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5371:6:21", + "nodeType": "YulIdentifier", + "src": "5371:6:21" + }, + "nativeSrc": "5371:12:21", + "nodeType": "YulFunctionCall", + "src": "5371:12:21" + }, + "nativeSrc": "5371:12:21", + "nodeType": "YulExpressionStatement", + "src": "5371:12:21" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5272:117:21", + "nodeType": "YulFunctionDefinition", + "src": "5272:117:21" + }, + { + "body": { + "nativeSrc": "5482:478:21", + "nodeType": "YulBlock", + "src": "5482:478:21", + "statements": [ + { + "body": { + "nativeSrc": "5531:83:21", + "nodeType": "YulBlock", + "src": "5531:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "5533:77:21", + "nodeType": "YulIdentifier", + "src": "5533:77:21" + }, + "nativeSrc": "5533:79:21", + "nodeType": "YulFunctionCall", + "src": "5533:79:21" + }, + "nativeSrc": "5533:79:21", + "nodeType": "YulExpressionStatement", + "src": "5533:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5510:6:21", + "nodeType": "YulIdentifier", + "src": "5510:6:21" + }, + { + "kind": "number", + "nativeSrc": "5518:4:21", + "nodeType": "YulLiteral", + "src": "5518:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5506:3:21", + "nodeType": "YulIdentifier", + "src": "5506:3:21" + }, + "nativeSrc": "5506:17:21", + "nodeType": "YulFunctionCall", + "src": "5506:17:21" + }, + { + "name": "end", + "nativeSrc": "5525:3:21", + "nodeType": "YulIdentifier", + "src": "5525:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5502:3:21", + "nodeType": "YulIdentifier", + "src": "5502:3:21" + }, + "nativeSrc": "5502:27:21", + "nodeType": "YulFunctionCall", + "src": "5502:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5495:6:21", + "nodeType": "YulIdentifier", + "src": "5495:6:21" + }, + "nativeSrc": "5495:35:21", + "nodeType": "YulFunctionCall", + "src": "5495:35:21" + }, + "nativeSrc": "5492:122:21", + "nodeType": "YulIf", + "src": "5492:122:21" + }, + { + "nativeSrc": "5623:30:21", + "nodeType": "YulAssignment", + "src": "5623:30:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5646:6:21", + "nodeType": "YulIdentifier", + "src": "5646:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5633:12:21", + "nodeType": "YulIdentifier", + "src": "5633:12:21" + }, + "nativeSrc": "5633:20:21", + "nodeType": "YulFunctionCall", + "src": "5633:20:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5623:6:21", + "nodeType": "YulIdentifier", + "src": "5623:6:21" + } + ] + }, + { + "body": { + "nativeSrc": "5696:83:21", + "nodeType": "YulBlock", + "src": "5696:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5698:77:21", + "nodeType": "YulIdentifier", + "src": "5698:77:21" + }, + "nativeSrc": "5698:79:21", + "nodeType": "YulFunctionCall", + "src": "5698:79:21" + }, + "nativeSrc": "5698:79:21", + "nodeType": "YulExpressionStatement", + "src": "5698:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5668:6:21", + "nodeType": "YulIdentifier", + "src": "5668:6:21" + }, + { + "kind": "number", + "nativeSrc": "5676:18:21", + "nodeType": "YulLiteral", + "src": "5676:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5665:2:21", + "nodeType": "YulIdentifier", + "src": "5665:2:21" + }, + "nativeSrc": "5665:30:21", + "nodeType": "YulFunctionCall", + "src": "5665:30:21" + }, + "nativeSrc": "5662:117:21", + "nodeType": "YulIf", + "src": "5662:117:21" + }, + { + "nativeSrc": "5788:29:21", + "nodeType": "YulAssignment", + "src": "5788:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5804:6:21", + "nodeType": "YulIdentifier", + "src": "5804:6:21" + }, + { + "kind": "number", + "nativeSrc": "5812:4:21", + "nodeType": "YulLiteral", + "src": "5812:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5800:3:21", + "nodeType": "YulIdentifier", + "src": "5800:3:21" + }, + "nativeSrc": "5800:17:21", + "nodeType": "YulFunctionCall", + "src": "5800:17:21" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "5788:8:21", + "nodeType": "YulIdentifier", + "src": "5788:8:21" + } + ] + }, + { + "body": { + "nativeSrc": "5871:83:21", + "nodeType": "YulBlock", + "src": "5871:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5873:77:21", + "nodeType": "YulIdentifier", + "src": "5873:77:21" + }, + "nativeSrc": "5873:79:21", + "nodeType": "YulFunctionCall", + "src": "5873:79:21" + }, + "nativeSrc": "5873:79:21", + "nodeType": "YulExpressionStatement", + "src": "5873:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "5836:8:21", + "nodeType": "YulIdentifier", + "src": "5836:8:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5850:6:21", + "nodeType": "YulIdentifier", + "src": "5850:6:21" + }, + { + "kind": "number", + "nativeSrc": "5858:4:21", + "nodeType": "YulLiteral", + "src": "5858:4:21", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5846:3:21", + "nodeType": "YulIdentifier", + "src": "5846:3:21" + }, + "nativeSrc": "5846:17:21", + "nodeType": "YulFunctionCall", + "src": "5846:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5832:3:21", + "nodeType": "YulIdentifier", + "src": "5832:3:21" + }, + "nativeSrc": "5832:32:21", + "nodeType": "YulFunctionCall", + "src": "5832:32:21" + }, + { + "name": "end", + "nativeSrc": "5866:3:21", + "nodeType": "YulIdentifier", + "src": "5866:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5829:2:21", + "nodeType": "YulIdentifier", + "src": "5829:2:21" + }, + "nativeSrc": "5829:41:21", + "nodeType": "YulFunctionCall", + "src": "5829:41:21" + }, + "nativeSrc": "5826:128:21", + "nodeType": "YulIf", + "src": "5826:128:21" + } + ] + }, + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "5408:552:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5449:6:21", + "nodeType": "YulTypedName", + "src": "5449:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5457:3:21", + "nodeType": "YulTypedName", + "src": "5457:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "5465:8:21", + "nodeType": "YulTypedName", + "src": "5465:8:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5475:6:21", + "nodeType": "YulTypedName", + "src": "5475:6:21", + "type": "" + } + ], + "src": "5408:552:21" + }, + { + "body": { + "nativeSrc": "6051:442:21", + "nodeType": "YulBlock", + "src": "6051:442:21", + "statements": [ + { + "body": { + "nativeSrc": "6097:83:21", + "nodeType": "YulBlock", + "src": "6097:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6099:77:21", + "nodeType": "YulIdentifier", + "src": "6099:77:21" + }, + "nativeSrc": "6099:79:21", + "nodeType": "YulFunctionCall", + "src": "6099:79:21" + }, + "nativeSrc": "6099:79:21", + "nodeType": "YulExpressionStatement", + "src": "6099:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6072:7:21", + "nodeType": "YulIdentifier", + "src": "6072:7:21" + }, + { + "name": "headStart", + "nativeSrc": "6081:9:21", + "nodeType": "YulIdentifier", + "src": "6081:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6068:3:21", + "nodeType": "YulIdentifier", + "src": "6068:3:21" + }, + "nativeSrc": "6068:23:21", + "nodeType": "YulFunctionCall", + "src": "6068:23:21" + }, + { + "kind": "number", + "nativeSrc": "6093:2:21", + "nodeType": "YulLiteral", + "src": "6093:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6064:3:21", + "nodeType": "YulIdentifier", + "src": "6064:3:21" + }, + "nativeSrc": "6064:32:21", + "nodeType": "YulFunctionCall", + "src": "6064:32:21" + }, + "nativeSrc": "6061:119:21", + "nodeType": "YulIf", + "src": "6061:119:21" + }, + { + "nativeSrc": "6190:296:21", + "nodeType": "YulBlock", + "src": "6190:296:21", + "statements": [ + { + "nativeSrc": "6205:45:21", + "nodeType": "YulVariableDeclaration", + "src": "6205:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6236:9:21", + "nodeType": "YulIdentifier", + "src": "6236:9:21" + }, + { + "kind": "number", + "nativeSrc": "6247:1:21", + "nodeType": "YulLiteral", + "src": "6247:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6232:3:21", + "nodeType": "YulIdentifier", + "src": "6232:3:21" + }, + "nativeSrc": "6232:17:21", + "nodeType": "YulFunctionCall", + "src": "6232:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6219:12:21", + "nodeType": "YulIdentifier", + "src": "6219:12:21" + }, + "nativeSrc": "6219:31:21", + "nodeType": "YulFunctionCall", + "src": "6219:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6209:6:21", + "nodeType": "YulTypedName", + "src": "6209:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6297:83:21", + "nodeType": "YulBlock", + "src": "6297:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "6299:77:21", + "nodeType": "YulIdentifier", + "src": "6299:77:21" + }, + "nativeSrc": "6299:79:21", + "nodeType": "YulFunctionCall", + "src": "6299:79:21" + }, + "nativeSrc": "6299:79:21", + "nodeType": "YulExpressionStatement", + "src": "6299:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6269:6:21", + "nodeType": "YulIdentifier", + "src": "6269:6:21" + }, + { + "kind": "number", + "nativeSrc": "6277:18:21", + "nodeType": "YulLiteral", + "src": "6277:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6266:2:21", + "nodeType": "YulIdentifier", + "src": "6266:2:21" + }, + "nativeSrc": "6266:30:21", + "nodeType": "YulFunctionCall", + "src": "6266:30:21" + }, + "nativeSrc": "6263:117:21", + "nodeType": "YulIf", + "src": "6263:117:21" + }, + { + "nativeSrc": "6394:82:21", + "nodeType": "YulAssignment", + "src": "6394:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6448:9:21", + "nodeType": "YulIdentifier", + "src": "6448:9:21" + }, + { + "name": "offset", + "nativeSrc": "6459:6:21", + "nodeType": "YulIdentifier", + "src": "6459:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6444:3:21", + "nodeType": "YulIdentifier", + "src": "6444:3:21" + }, + "nativeSrc": "6444:22:21", + "nodeType": "YulFunctionCall", + "src": "6444:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "6468:7:21", + "nodeType": "YulIdentifier", + "src": "6468:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "6412:31:21", + "nodeType": "YulIdentifier", + "src": "6412:31:21" + }, + "nativeSrc": "6412:64:21", + "nodeType": "YulFunctionCall", + "src": "6412:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6394:6:21", + "nodeType": "YulIdentifier", + "src": "6394:6:21" + }, + { + "name": "value1", + "nativeSrc": "6402:6:21", + "nodeType": "YulIdentifier", + "src": "6402:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptr", + "nativeSrc": "5966:527:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6013:9:21", + "nodeType": "YulTypedName", + "src": "6013:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6024:7:21", + "nodeType": "YulTypedName", + "src": "6024:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6036:6:21", + "nodeType": "YulTypedName", + "src": "6036:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6044:6:21", + "nodeType": "YulTypedName", + "src": "6044:6:21", + "type": "" + } + ], + "src": "5966:527:21" + }, + { + "body": { + "nativeSrc": "6544:32:21", + "nodeType": "YulBlock", + "src": "6544:32:21", + "statements": [ + { + "nativeSrc": "6554:16:21", + "nodeType": "YulAssignment", + "src": "6554:16:21", + "value": { + "name": "value", + "nativeSrc": "6565:5:21", + "nodeType": "YulIdentifier", + "src": "6565:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6554:7:21", + "nodeType": "YulIdentifier", + "src": "6554:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "6499:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6526:5:21", + "nodeType": "YulTypedName", + "src": "6526:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "6536:7:21", + "nodeType": "YulTypedName", + "src": "6536:7:21", + "type": "" + } + ], + "src": "6499:77:21" + }, + { + "body": { + "nativeSrc": "6647:53:21", + "nodeType": "YulBlock", + "src": "6647:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6664:3:21", + "nodeType": "YulIdentifier", + "src": "6664:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6687:5:21", + "nodeType": "YulIdentifier", + "src": "6687:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6669:17:21", + "nodeType": "YulIdentifier", + "src": "6669:17:21" + }, + "nativeSrc": "6669:24:21", + "nodeType": "YulFunctionCall", + "src": "6669:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6657:6:21", + "nodeType": "YulIdentifier", + "src": "6657:6:21" + }, + "nativeSrc": "6657:37:21", + "nodeType": "YulFunctionCall", + "src": "6657:37:21" + }, + "nativeSrc": "6657:37:21", + "nodeType": "YulExpressionStatement", + "src": "6657:37:21" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6582:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6635:5:21", + "nodeType": "YulTypedName", + "src": "6635:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6642:3:21", + "nodeType": "YulTypedName", + "src": "6642:3:21", + "type": "" + } + ], + "src": "6582:118:21" + }, + { + "body": { + "nativeSrc": "6804:124:21", + "nodeType": "YulBlock", + "src": "6804:124:21", + "statements": [ + { + "nativeSrc": "6814:26:21", + "nodeType": "YulAssignment", + "src": "6814:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6826:9:21", + "nodeType": "YulIdentifier", + "src": "6826:9:21" + }, + { + "kind": "number", + "nativeSrc": "6837:2:21", + "nodeType": "YulLiteral", + "src": "6837:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6822:3:21", + "nodeType": "YulIdentifier", + "src": "6822:3:21" + }, + "nativeSrc": "6822:18:21", + "nodeType": "YulFunctionCall", + "src": "6822:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6814:4:21", + "nodeType": "YulIdentifier", + "src": "6814:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6894:6:21", + "nodeType": "YulIdentifier", + "src": "6894:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6907:9:21", + "nodeType": "YulIdentifier", + "src": "6907:9:21" + }, + { + "kind": "number", + "nativeSrc": "6918:1:21", + "nodeType": "YulLiteral", + "src": "6918:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6903:3:21", + "nodeType": "YulIdentifier", + "src": "6903:3:21" + }, + "nativeSrc": "6903:17:21", + "nodeType": "YulFunctionCall", + "src": "6903:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6850:43:21", + "nodeType": "YulIdentifier", + "src": "6850:43:21" + }, + "nativeSrc": "6850:71:21", + "nodeType": "YulFunctionCall", + "src": "6850:71:21" + }, + "nativeSrc": "6850:71:21", + "nodeType": "YulExpressionStatement", + "src": "6850:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "6706:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6776:9:21", + "nodeType": "YulTypedName", + "src": "6776:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6788:6:21", + "nodeType": "YulTypedName", + "src": "6788:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6799:4:21", + "nodeType": "YulTypedName", + "src": "6799:4:21", + "type": "" + } + ], + "src": "6706:222:21" + }, + { + "body": { + "nativeSrc": "6966:28:21", + "nodeType": "YulBlock", + "src": "6966:28:21", + "statements": [ + { + "nativeSrc": "6976:12:21", + "nodeType": "YulAssignment", + "src": "6976:12:21", + "value": { + "name": "value", + "nativeSrc": "6983:5:21", + "nodeType": "YulIdentifier", + "src": "6983:5:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6976:3:21", + "nodeType": "YulIdentifier", + "src": "6976:3:21" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "6934:60:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6952:5:21", + "nodeType": "YulTypedName", + "src": "6952:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6962:3:21", + "nodeType": "YulTypedName", + "src": "6962:3:21", + "type": "" + } + ], + "src": "6934:60:21" + }, + { + "body": { + "nativeSrc": "7060:82:21", + "nodeType": "YulBlock", + "src": "7060:82:21", + "statements": [ + { + "nativeSrc": "7070:66:21", + "nodeType": "YulAssignment", + "src": "7070:66:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7128:5:21", + "nodeType": "YulIdentifier", + "src": "7128:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "7110:17:21", + "nodeType": "YulIdentifier", + "src": "7110:17:21" + }, + "nativeSrc": "7110:24:21", + "nodeType": "YulFunctionCall", + "src": "7110:24:21" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7101:8:21", + "nodeType": "YulIdentifier", + "src": "7101:8:21" + }, + "nativeSrc": "7101:34:21", + "nodeType": "YulFunctionCall", + "src": "7101:34:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "7083:17:21", + "nodeType": "YulIdentifier", + "src": "7083:17:21" + }, + "nativeSrc": "7083:53:21", + "nodeType": "YulFunctionCall", + "src": "7083:53:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7070:9:21", + "nodeType": "YulIdentifier", + "src": "7070:9:21" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_uint160", + "nativeSrc": "7000:142:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7040:5:21", + "nodeType": "YulTypedName", + "src": "7040:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7050:9:21", + "nodeType": "YulTypedName", + "src": "7050:9:21", + "type": "" + } + ], + "src": "7000:142:21" + }, + { + "body": { + "nativeSrc": "7208:66:21", + "nodeType": "YulBlock", + "src": "7208:66:21", + "statements": [ + { + "nativeSrc": "7218:50:21", + "nodeType": "YulAssignment", + "src": "7218:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7262:5:21", + "nodeType": "YulIdentifier", + "src": "7262:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nativeSrc": "7231:30:21", + "nodeType": "YulIdentifier", + "src": "7231:30:21" + }, + "nativeSrc": "7231:37:21", + "nodeType": "YulFunctionCall", + "src": "7231:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7218:9:21", + "nodeType": "YulIdentifier", + "src": "7218:9:21" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7148:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7188:5:21", + "nodeType": "YulTypedName", + "src": "7188:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7198:9:21", + "nodeType": "YulTypedName", + "src": "7198:9:21", + "type": "" + } + ], + "src": "7148:126:21" + }, + { + "body": { + "nativeSrc": "7360:66:21", + "nodeType": "YulBlock", + "src": "7360:66:21", + "statements": [ + { + "nativeSrc": "7370:50:21", + "nodeType": "YulAssignment", + "src": "7370:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7414:5:21", + "nodeType": "YulIdentifier", + "src": "7414:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7383:30:21", + "nodeType": "YulIdentifier", + "src": "7383:30:21" + }, + "nativeSrc": "7383:37:21", + "nodeType": "YulFunctionCall", + "src": "7383:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7370:9:21", + "nodeType": "YulIdentifier", + "src": "7370:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_IEVMVerifier_$798_to_t_address", + "nativeSrc": "7280:146:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7340:5:21", + "nodeType": "YulTypedName", + "src": "7340:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7350:9:21", + "nodeType": "YulTypedName", + "src": "7350:9:21", + "type": "" + } + ], + "src": "7280:146:21" + }, + { + "body": { + "nativeSrc": "7517:86:21", + "nodeType": "YulBlock", + "src": "7517:86:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7534:3:21", + "nodeType": "YulIdentifier", + "src": "7534:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7590:5:21", + "nodeType": "YulIdentifier", + "src": "7590:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_IEVMVerifier_$798_to_t_address", + "nativeSrc": "7539:50:21", + "nodeType": "YulIdentifier", + "src": "7539:50:21" + }, + "nativeSrc": "7539:57:21", + "nodeType": "YulFunctionCall", + "src": "7539:57:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7527:6:21", + "nodeType": "YulIdentifier", + "src": "7527:6:21" + }, + "nativeSrc": "7527:70:21", + "nodeType": "YulFunctionCall", + "src": "7527:70:21" + }, + "nativeSrc": "7527:70:21", + "nodeType": "YulExpressionStatement", + "src": "7527:70:21" + } + ] + }, + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "7432:171:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7505:5:21", + "nodeType": "YulTypedName", + "src": "7505:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7512:3:21", + "nodeType": "YulTypedName", + "src": "7512:3:21", + "type": "" + } + ], + "src": "7432:171:21" + }, + { + "body": { + "nativeSrc": "7727:144:21", + "nodeType": "YulBlock", + "src": "7727:144:21", + "statements": [ + { + "nativeSrc": "7737:26:21", + "nodeType": "YulAssignment", + "src": "7737:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7749:9:21", + "nodeType": "YulIdentifier", + "src": "7749:9:21" + }, + { + "kind": "number", + "nativeSrc": "7760:2:21", + "nodeType": "YulLiteral", + "src": "7760:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7745:3:21", + "nodeType": "YulIdentifier", + "src": "7745:3:21" + }, + "nativeSrc": "7745:18:21", + "nodeType": "YulFunctionCall", + "src": "7745:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7737:4:21", + "nodeType": "YulIdentifier", + "src": "7737:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7837:6:21", + "nodeType": "YulIdentifier", + "src": "7837:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7850:9:21", + "nodeType": "YulIdentifier", + "src": "7850:9:21" + }, + { + "kind": "number", + "nativeSrc": "7861:1:21", + "nodeType": "YulLiteral", + "src": "7861:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7846:3:21", + "nodeType": "YulIdentifier", + "src": "7846:3:21" + }, + "nativeSrc": "7846:17:21", + "nodeType": "YulFunctionCall", + "src": "7846:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "7773:63:21", + "nodeType": "YulIdentifier", + "src": "7773:63:21" + }, + "nativeSrc": "7773:91:21", + "nodeType": "YulFunctionCall", + "src": "7773:91:21" + }, + "nativeSrc": "7773:91:21", + "nodeType": "YulExpressionStatement", + "src": "7773:91:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed", + "nativeSrc": "7609:262:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7699:9:21", + "nodeType": "YulTypedName", + "src": "7699:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7711:6:21", + "nodeType": "YulTypedName", + "src": "7711:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7722:4:21", + "nodeType": "YulTypedName", + "src": "7722:4:21", + "type": "" + } + ], + "src": "7609:262:21" + }, + { + "body": { + "nativeSrc": "7949:66:21", + "nodeType": "YulBlock", + "src": "7949:66:21", + "statements": [ + { + "nativeSrc": "7959:50:21", + "nodeType": "YulAssignment", + "src": "7959:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8003:5:21", + "nodeType": "YulIdentifier", + "src": "8003:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7972:30:21", + "nodeType": "YulIdentifier", + "src": "7972:30:21" + }, + "nativeSrc": "7972:37:21", + "nodeType": "YulFunctionCall", + "src": "7972:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7959:9:21", + "nodeType": "YulIdentifier", + "src": "7959:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_ENS_$1030_to_t_address", + "nativeSrc": "7877:138:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7929:5:21", + "nodeType": "YulTypedName", + "src": "7929:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7939:9:21", + "nodeType": "YulTypedName", + "src": "7939:9:21", + "type": "" + } + ], + "src": "7877:138:21" + }, + { + "body": { + "nativeSrc": "8098:78:21", + "nodeType": "YulBlock", + "src": "8098:78:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8115:3:21", + "nodeType": "YulIdentifier", + "src": "8115:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8163:5:21", + "nodeType": "YulIdentifier", + "src": "8163:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_ENS_$1030_to_t_address", + "nativeSrc": "8120:42:21", + "nodeType": "YulIdentifier", + "src": "8120:42:21" + }, + "nativeSrc": "8120:49:21", + "nodeType": "YulFunctionCall", + "src": "8120:49:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8108:6:21", + "nodeType": "YulIdentifier", + "src": "8108:6:21" + }, + "nativeSrc": "8108:62:21", + "nodeType": "YulFunctionCall", + "src": "8108:62:21" + }, + "nativeSrc": "8108:62:21", + "nodeType": "YulExpressionStatement", + "src": "8108:62:21" + } + ] + }, + "name": "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack", + "nativeSrc": "8021:155:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8086:5:21", + "nodeType": "YulTypedName", + "src": "8086:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8093:3:21", + "nodeType": "YulTypedName", + "src": "8093:3:21", + "type": "" + } + ], + "src": "8021:155:21" + }, + { + "body": { + "nativeSrc": "8292:136:21", + "nodeType": "YulBlock", + "src": "8292:136:21", + "statements": [ + { + "nativeSrc": "8302:26:21", + "nodeType": "YulAssignment", + "src": "8302:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8314:9:21", + "nodeType": "YulIdentifier", + "src": "8314:9:21" + }, + { + "kind": "number", + "nativeSrc": "8325:2:21", + "nodeType": "YulLiteral", + "src": "8325:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8310:3:21", + "nodeType": "YulIdentifier", + "src": "8310:3:21" + }, + "nativeSrc": "8310:18:21", + "nodeType": "YulFunctionCall", + "src": "8310:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8302:4:21", + "nodeType": "YulIdentifier", + "src": "8302:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8394:6:21", + "nodeType": "YulIdentifier", + "src": "8394:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8407:9:21", + "nodeType": "YulIdentifier", + "src": "8407:9:21" + }, + { + "kind": "number", + "nativeSrc": "8418:1:21", + "nodeType": "YulLiteral", + "src": "8418:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8403:3:21", + "nodeType": "YulIdentifier", + "src": "8403:3:21" + }, + "nativeSrc": "8403:17:21", + "nodeType": "YulFunctionCall", + "src": "8403:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack", + "nativeSrc": "8338:55:21", + "nodeType": "YulIdentifier", + "src": "8338:55:21" + }, + "nativeSrc": "8338:83:21", + "nodeType": "YulFunctionCall", + "src": "8338:83:21" + }, + "nativeSrc": "8338:83:21", + "nodeType": "YulExpressionStatement", + "src": "8338:83:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed", + "nativeSrc": "8182:246:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8264:9:21", + "nodeType": "YulTypedName", + "src": "8264:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8276:6:21", + "nodeType": "YulTypedName", + "src": "8276:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8287:4:21", + "nodeType": "YulTypedName", + "src": "8287:4:21", + "type": "" + } + ], + "src": "8182:246:21" + }, + { + "body": { + "nativeSrc": "8555:749:21", + "nodeType": "YulBlock", + "src": "8555:749:21", + "statements": [ + { + "body": { + "nativeSrc": "8601:83:21", + "nodeType": "YulBlock", + "src": "8601:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8603:77:21", + "nodeType": "YulIdentifier", + "src": "8603:77:21" + }, + "nativeSrc": "8603:79:21", + "nodeType": "YulFunctionCall", + "src": "8603:79:21" + }, + "nativeSrc": "8603:79:21", + "nodeType": "YulExpressionStatement", + "src": "8603:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8576:7:21", + "nodeType": "YulIdentifier", + "src": "8576:7:21" + }, + { + "name": "headStart", + "nativeSrc": "8585:9:21", + "nodeType": "YulIdentifier", + "src": "8585:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8572:3:21", + "nodeType": "YulIdentifier", + "src": "8572:3:21" + }, + "nativeSrc": "8572:23:21", + "nodeType": "YulFunctionCall", + "src": "8572:23:21" + }, + { + "kind": "number", + "nativeSrc": "8597:2:21", + "nodeType": "YulLiteral", + "src": "8597:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8568:3:21", + "nodeType": "YulIdentifier", + "src": "8568:3:21" + }, + "nativeSrc": "8568:32:21", + "nodeType": "YulFunctionCall", + "src": "8568:32:21" + }, + "nativeSrc": "8565:119:21", + "nodeType": "YulIf", + "src": "8565:119:21" + }, + { + "nativeSrc": "8694:296:21", + "nodeType": "YulBlock", + "src": "8694:296:21", + "statements": [ + { + "nativeSrc": "8709:45:21", + "nodeType": "YulVariableDeclaration", + "src": "8709:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8740:9:21", + "nodeType": "YulIdentifier", + "src": "8740:9:21" + }, + { + "kind": "number", + "nativeSrc": "8751:1:21", + "nodeType": "YulLiteral", + "src": "8751:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8736:3:21", + "nodeType": "YulIdentifier", + "src": "8736:3:21" + }, + "nativeSrc": "8736:17:21", + "nodeType": "YulFunctionCall", + "src": "8736:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8723:12:21", + "nodeType": "YulIdentifier", + "src": "8723:12:21" + }, + "nativeSrc": "8723:31:21", + "nodeType": "YulFunctionCall", + "src": "8723:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8713:6:21", + "nodeType": "YulTypedName", + "src": "8713:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8801:83:21", + "nodeType": "YulBlock", + "src": "8801:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "8803:77:21", + "nodeType": "YulIdentifier", + "src": "8803:77:21" + }, + "nativeSrc": "8803:79:21", + "nodeType": "YulFunctionCall", + "src": "8803:79:21" + }, + "nativeSrc": "8803:79:21", + "nodeType": "YulExpressionStatement", + "src": "8803:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8773:6:21", + "nodeType": "YulIdentifier", + "src": "8773:6:21" + }, + { + "kind": "number", + "nativeSrc": "8781:18:21", + "nodeType": "YulLiteral", + "src": "8781:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8770:2:21", + "nodeType": "YulIdentifier", + "src": "8770:2:21" + }, + "nativeSrc": "8770:30:21", + "nodeType": "YulFunctionCall", + "src": "8770:30:21" + }, + "nativeSrc": "8767:117:21", + "nodeType": "YulIf", + "src": "8767:117:21" + }, + { + "nativeSrc": "8898:82:21", + "nodeType": "YulAssignment", + "src": "8898:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8952:9:21", + "nodeType": "YulIdentifier", + "src": "8952:9:21" + }, + { + "name": "offset", + "nativeSrc": "8963:6:21", + "nodeType": "YulIdentifier", + "src": "8963:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8948:3:21", + "nodeType": "YulIdentifier", + "src": "8948:3:21" + }, + "nativeSrc": "8948:22:21", + "nodeType": "YulFunctionCall", + "src": "8948:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "8972:7:21", + "nodeType": "YulIdentifier", + "src": "8972:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "8916:31:21", + "nodeType": "YulIdentifier", + "src": "8916:31:21" + }, + "nativeSrc": "8916:64:21", + "nodeType": "YulFunctionCall", + "src": "8916:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8898:6:21", + "nodeType": "YulIdentifier", + "src": "8898:6:21" + }, + { + "name": "value1", + "nativeSrc": "8906:6:21", + "nodeType": "YulIdentifier", + "src": "8906:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "9000:297:21", + "nodeType": "YulBlock", + "src": "9000:297:21", + "statements": [ + { + "nativeSrc": "9015:46:21", + "nodeType": "YulVariableDeclaration", + "src": "9015:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9046:9:21", + "nodeType": "YulIdentifier", + "src": "9046:9:21" + }, + { + "kind": "number", + "nativeSrc": "9057:2:21", + "nodeType": "YulLiteral", + "src": "9057:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9042:3:21", + "nodeType": "YulIdentifier", + "src": "9042:3:21" + }, + "nativeSrc": "9042:18:21", + "nodeType": "YulFunctionCall", + "src": "9042:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9029:12:21", + "nodeType": "YulIdentifier", + "src": "9029:12:21" + }, + "nativeSrc": "9029:32:21", + "nodeType": "YulFunctionCall", + "src": "9029:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9019:6:21", + "nodeType": "YulTypedName", + "src": "9019:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9108:83:21", + "nodeType": "YulBlock", + "src": "9108:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "9110:77:21", + "nodeType": "YulIdentifier", + "src": "9110:77:21" + }, + "nativeSrc": "9110:79:21", + "nodeType": "YulFunctionCall", + "src": "9110:79:21" + }, + "nativeSrc": "9110:79:21", + "nodeType": "YulExpressionStatement", + "src": "9110:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9080:6:21", + "nodeType": "YulIdentifier", + "src": "9080:6:21" + }, + { + "kind": "number", + "nativeSrc": "9088:18:21", + "nodeType": "YulLiteral", + "src": "9088:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9077:2:21", + "nodeType": "YulIdentifier", + "src": "9077:2:21" + }, + "nativeSrc": "9077:30:21", + "nodeType": "YulFunctionCall", + "src": "9077:30:21" + }, + "nativeSrc": "9074:117:21", + "nodeType": "YulIf", + "src": "9074:117:21" + }, + { + "nativeSrc": "9205:82:21", + "nodeType": "YulAssignment", + "src": "9205:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9259:9:21", + "nodeType": "YulIdentifier", + "src": "9259:9:21" + }, + { + "name": "offset", + "nativeSrc": "9270:6:21", + "nodeType": "YulIdentifier", + "src": "9270:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9255:3:21", + "nodeType": "YulIdentifier", + "src": "9255:3:21" + }, + "nativeSrc": "9255:22:21", + "nodeType": "YulFunctionCall", + "src": "9255:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "9279:7:21", + "nodeType": "YulIdentifier", + "src": "9279:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "9223:31:21", + "nodeType": "YulIdentifier", + "src": "9223:31:21" + }, + "nativeSrc": "9223:64:21", + "nodeType": "YulFunctionCall", + "src": "9223:64:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "9205:6:21", + "nodeType": "YulIdentifier", + "src": "9205:6:21" + }, + { + "name": "value3", + "nativeSrc": "9213:6:21", + "nodeType": "YulIdentifier", + "src": "9213:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr", + "nativeSrc": "8434:870:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8501:9:21", + "nodeType": "YulTypedName", + "src": "8501:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8512:7:21", + "nodeType": "YulTypedName", + "src": "8512:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8524:6:21", + "nodeType": "YulTypedName", + "src": "8524:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8532:6:21", + "nodeType": "YulTypedName", + "src": "8532:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8540:6:21", + "nodeType": "YulTypedName", + "src": "8540:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8548:6:21", + "nodeType": "YulTypedName", + "src": "8548:6:21", + "type": "" + } + ], + "src": "8434:870:21" + }, + { + "body": { + "nativeSrc": "9368:40:21", + "nodeType": "YulBlock", + "src": "9368:40:21", + "statements": [ + { + "nativeSrc": "9379:22:21", + "nodeType": "YulAssignment", + "src": "9379:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9395:5:21", + "nodeType": "YulIdentifier", + "src": "9395:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9389:5:21", + "nodeType": "YulIdentifier", + "src": "9389:5:21" + }, + "nativeSrc": "9389:12:21", + "nodeType": "YulFunctionCall", + "src": "9389:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "9379:6:21", + "nodeType": "YulIdentifier", + "src": "9379:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9310:98:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9351:5:21", + "nodeType": "YulTypedName", + "src": "9351:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "9361:6:21", + "nodeType": "YulTypedName", + "src": "9361:6:21", + "type": "" + } + ], + "src": "9310:98:21" + }, + { + "body": { + "nativeSrc": "9509:73:21", + "nodeType": "YulBlock", + "src": "9509:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9526:3:21", + "nodeType": "YulIdentifier", + "src": "9526:3:21" + }, + { + "name": "length", + "nativeSrc": "9531:6:21", + "nodeType": "YulIdentifier", + "src": "9531:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9519:6:21", + "nodeType": "YulIdentifier", + "src": "9519:6:21" + }, + "nativeSrc": "9519:19:21", + "nodeType": "YulFunctionCall", + "src": "9519:19:21" + }, + "nativeSrc": "9519:19:21", + "nodeType": "YulExpressionStatement", + "src": "9519:19:21" + }, + { + "nativeSrc": "9547:29:21", + "nodeType": "YulAssignment", + "src": "9547:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9566:3:21", + "nodeType": "YulIdentifier", + "src": "9566:3:21" + }, + { + "kind": "number", + "nativeSrc": "9571:4:21", + "nodeType": "YulLiteral", + "src": "9571:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9562:3:21", + "nodeType": "YulIdentifier", + "src": "9562:3:21" + }, + "nativeSrc": "9562:14:21", + "nodeType": "YulFunctionCall", + "src": "9562:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "9547:11:21", + "nodeType": "YulIdentifier", + "src": "9547:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "9414:168:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "9481:3:21", + "nodeType": "YulTypedName", + "src": "9481:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9486:6:21", + "nodeType": "YulTypedName", + "src": "9486:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "9497:11:21", + "nodeType": "YulTypedName", + "src": "9497:11:21", + "type": "" + } + ], + "src": "9414:168:21" + }, + { + "body": { + "nativeSrc": "9650:186:21", + "nodeType": "YulBlock", + "src": "9650:186:21", + "statements": [ + { + "nativeSrc": "9661:10:21", + "nodeType": "YulVariableDeclaration", + "src": "9661:10:21", + "value": { + "kind": "number", + "nativeSrc": "9670:1:21", + "nodeType": "YulLiteral", + "src": "9670:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9665:1:21", + "nodeType": "YulTypedName", + "src": "9665:1:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9730:63:21", + "nodeType": "YulBlock", + "src": "9730:63:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "9755:3:21", + "nodeType": "YulIdentifier", + "src": "9755:3:21" + }, + { + "name": "i", + "nativeSrc": "9760:1:21", + "nodeType": "YulIdentifier", + "src": "9760:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9751:3:21", + "nodeType": "YulIdentifier", + "src": "9751:3:21" + }, + "nativeSrc": "9751:11:21", + "nodeType": "YulFunctionCall", + "src": "9751:11:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9774:3:21", + "nodeType": "YulIdentifier", + "src": "9774:3:21" + }, + { + "name": "i", + "nativeSrc": "9779:1:21", + "nodeType": "YulIdentifier", + "src": "9779:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9770:3:21", + "nodeType": "YulIdentifier", + "src": "9770:3:21" + }, + "nativeSrc": "9770:11:21", + "nodeType": "YulFunctionCall", + "src": "9770:11:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9764:5:21", + "nodeType": "YulIdentifier", + "src": "9764:5:21" + }, + "nativeSrc": "9764:18:21", + "nodeType": "YulFunctionCall", + "src": "9764:18:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9744:6:21", + "nodeType": "YulIdentifier", + "src": "9744:6:21" + }, + "nativeSrc": "9744:39:21", + "nodeType": "YulFunctionCall", + "src": "9744:39:21" + }, + "nativeSrc": "9744:39:21", + "nodeType": "YulExpressionStatement", + "src": "9744:39:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9691:1:21", + "nodeType": "YulIdentifier", + "src": "9691:1:21" + }, + { + "name": "length", + "nativeSrc": "9694:6:21", + "nodeType": "YulIdentifier", + "src": "9694:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9688:2:21", + "nodeType": "YulIdentifier", + "src": "9688:2:21" + }, + "nativeSrc": "9688:13:21", + "nodeType": "YulFunctionCall", + "src": "9688:13:21" + }, + "nativeSrc": "9680:113:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9702:19:21", + "nodeType": "YulBlock", + "src": "9702:19:21", + "statements": [ + { + "nativeSrc": "9704:15:21", + "nodeType": "YulAssignment", + "src": "9704:15:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9713:1:21", + "nodeType": "YulIdentifier", + "src": "9713:1:21" + }, + { + "kind": "number", + "nativeSrc": "9716:2:21", + "nodeType": "YulLiteral", + "src": "9716:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9709:3:21", + "nodeType": "YulIdentifier", + "src": "9709:3:21" + }, + "nativeSrc": "9709:10:21", + "nodeType": "YulFunctionCall", + "src": "9709:10:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9704:1:21", + "nodeType": "YulIdentifier", + "src": "9704:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9684:3:21", + "nodeType": "YulBlock", + "src": "9684:3:21", + "statements": [] + }, + "src": "9680:113:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "9813:3:21", + "nodeType": "YulIdentifier", + "src": "9813:3:21" + }, + { + "name": "length", + "nativeSrc": "9818:6:21", + "nodeType": "YulIdentifier", + "src": "9818:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9809:3:21", + "nodeType": "YulIdentifier", + "src": "9809:3:21" + }, + "nativeSrc": "9809:16:21", + "nodeType": "YulFunctionCall", + "src": "9809:16:21" + }, + { + "kind": "number", + "nativeSrc": "9827:1:21", + "nodeType": "YulLiteral", + "src": "9827:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9802:6:21", + "nodeType": "YulIdentifier", + "src": "9802:6:21" + }, + "nativeSrc": "9802:27:21", + "nodeType": "YulFunctionCall", + "src": "9802:27:21" + }, + "nativeSrc": "9802:27:21", + "nodeType": "YulExpressionStatement", + "src": "9802:27:21" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "9588:248:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "9632:3:21", + "nodeType": "YulTypedName", + "src": "9632:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "9637:3:21", + "nodeType": "YulTypedName", + "src": "9637:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9642:6:21", + "nodeType": "YulTypedName", + "src": "9642:6:21", + "type": "" + } + ], + "src": "9588:248:21" + }, + { + "body": { + "nativeSrc": "9932:283:21", + "nodeType": "YulBlock", + "src": "9932:283:21", + "statements": [ + { + "nativeSrc": "9942:52:21", + "nodeType": "YulVariableDeclaration", + "src": "9942:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9988:5:21", + "nodeType": "YulIdentifier", + "src": "9988:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9956:31:21", + "nodeType": "YulIdentifier", + "src": "9956:31:21" + }, + "nativeSrc": "9956:38:21", + "nodeType": "YulFunctionCall", + "src": "9956:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "9946:6:21", + "nodeType": "YulTypedName", + "src": "9946:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "10003:77:21", + "nodeType": "YulAssignment", + "src": "10003:77:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10068:3:21", + "nodeType": "YulIdentifier", + "src": "10068:3:21" + }, + { + "name": "length", + "nativeSrc": "10073:6:21", + "nodeType": "YulIdentifier", + "src": "10073:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "10010:57:21", + "nodeType": "YulIdentifier", + "src": "10010:57:21" + }, + "nativeSrc": "10010:70:21", + "nodeType": "YulFunctionCall", + "src": "10010:70:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "10003:3:21", + "nodeType": "YulIdentifier", + "src": "10003:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10128:5:21", + "nodeType": "YulIdentifier", + "src": "10128:5:21" + }, + { + "kind": "number", + "nativeSrc": "10135:4:21", + "nodeType": "YulLiteral", + "src": "10135:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10124:3:21", + "nodeType": "YulIdentifier", + "src": "10124:3:21" + }, + "nativeSrc": "10124:16:21", + "nodeType": "YulFunctionCall", + "src": "10124:16:21" + }, + { + "name": "pos", + "nativeSrc": "10142:3:21", + "nodeType": "YulIdentifier", + "src": "10142:3:21" + }, + { + "name": "length", + "nativeSrc": "10147:6:21", + "nodeType": "YulIdentifier", + "src": "10147:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10089:34:21", + "nodeType": "YulIdentifier", + "src": "10089:34:21" + }, + "nativeSrc": "10089:65:21", + "nodeType": "YulFunctionCall", + "src": "10089:65:21" + }, + "nativeSrc": "10089:65:21", + "nodeType": "YulExpressionStatement", + "src": "10089:65:21" + }, + { + "nativeSrc": "10163:46:21", + "nodeType": "YulAssignment", + "src": "10163:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10174:3:21", + "nodeType": "YulIdentifier", + "src": "10174:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10201:6:21", + "nodeType": "YulIdentifier", + "src": "10201:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "10179:21:21", + "nodeType": "YulIdentifier", + "src": "10179:21:21" + }, + "nativeSrc": "10179:29:21", + "nodeType": "YulFunctionCall", + "src": "10179:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10170:3:21", + "nodeType": "YulIdentifier", + "src": "10170:3:21" + }, + "nativeSrc": "10170:39:21", + "nodeType": "YulFunctionCall", + "src": "10170:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "10163:3:21", + "nodeType": "YulIdentifier", + "src": "10163:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "9842:373:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9913:5:21", + "nodeType": "YulTypedName", + "src": "9913:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9920:3:21", + "nodeType": "YulTypedName", + "src": "9920:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "9928:3:21", + "nodeType": "YulTypedName", + "src": "9928:3:21", + "type": "" + } + ], + "src": "9842:373:21" + }, + { + "body": { + "nativeSrc": "10337:193:21", + "nodeType": "YulBlock", + "src": "10337:193:21", + "statements": [ + { + "nativeSrc": "10347:26:21", + "nodeType": "YulAssignment", + "src": "10347:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10359:9:21", + "nodeType": "YulIdentifier", + "src": "10359:9:21" + }, + { + "kind": "number", + "nativeSrc": "10370:2:21", + "nodeType": "YulLiteral", + "src": "10370:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10355:3:21", + "nodeType": "YulIdentifier", + "src": "10355:3:21" + }, + "nativeSrc": "10355:18:21", + "nodeType": "YulFunctionCall", + "src": "10355:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10347:4:21", + "nodeType": "YulIdentifier", + "src": "10347:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10394:9:21", + "nodeType": "YulIdentifier", + "src": "10394:9:21" + }, + { + "kind": "number", + "nativeSrc": "10405:1:21", + "nodeType": "YulLiteral", + "src": "10405:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10390:3:21", + "nodeType": "YulIdentifier", + "src": "10390:3:21" + }, + "nativeSrc": "10390:17:21", + "nodeType": "YulFunctionCall", + "src": "10390:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "10413:4:21", + "nodeType": "YulIdentifier", + "src": "10413:4:21" + }, + { + "name": "headStart", + "nativeSrc": "10419:9:21", + "nodeType": "YulIdentifier", + "src": "10419:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10409:3:21", + "nodeType": "YulIdentifier", + "src": "10409:3:21" + }, + "nativeSrc": "10409:20:21", + "nodeType": "YulFunctionCall", + "src": "10409:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10383:6:21", + "nodeType": "YulIdentifier", + "src": "10383:6:21" + }, + "nativeSrc": "10383:47:21", + "nodeType": "YulFunctionCall", + "src": "10383:47:21" + }, + "nativeSrc": "10383:47:21", + "nodeType": "YulExpressionStatement", + "src": "10383:47:21" + }, + { + "nativeSrc": "10439:84:21", + "nodeType": "YulAssignment", + "src": "10439:84:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10509:6:21", + "nodeType": "YulIdentifier", + "src": "10509:6:21" + }, + { + "name": "tail", + "nativeSrc": "10518:4:21", + "nodeType": "YulIdentifier", + "src": "10518:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "10447:61:21", + "nodeType": "YulIdentifier", + "src": "10447:61:21" + }, + "nativeSrc": "10447:76:21", + "nodeType": "YulFunctionCall", + "src": "10447:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10439:4:21", + "nodeType": "YulIdentifier", + "src": "10439:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "10221:309:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10309:9:21", + "nodeType": "YulTypedName", + "src": "10309:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10321:6:21", + "nodeType": "YulTypedName", + "src": "10321:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10332:4:21", + "nodeType": "YulTypedName", + "src": "10332:4:21", + "type": "" + } + ], + "src": "10221:309:21" + }, + { + "body": { + "nativeSrc": "10617:66:21", + "nodeType": "YulBlock", + "src": "10617:66:21", + "statements": [ + { + "nativeSrc": "10627:50:21", + "nodeType": "YulAssignment", + "src": "10627:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10671:5:21", + "nodeType": "YulIdentifier", + "src": "10671:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "10640:30:21", + "nodeType": "YulIdentifier", + "src": "10640:30:21" + }, + "nativeSrc": "10640:37:21", + "nodeType": "YulFunctionCall", + "src": "10640:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "10627:9:21", + "nodeType": "YulIdentifier", + "src": "10627:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_INameWrapper_$2401_to_t_address", + "nativeSrc": "10536:147:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10597:5:21", + "nodeType": "YulTypedName", + "src": "10597:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "10607:9:21", + "nodeType": "YulTypedName", + "src": "10607:9:21", + "type": "" + } + ], + "src": "10536:147:21" + }, + { + "body": { + "nativeSrc": "10775:87:21", + "nodeType": "YulBlock", + "src": "10775:87:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10792:3:21", + "nodeType": "YulIdentifier", + "src": "10792:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10849:5:21", + "nodeType": "YulIdentifier", + "src": "10849:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_INameWrapper_$2401_to_t_address", + "nativeSrc": "10797:51:21", + "nodeType": "YulIdentifier", + "src": "10797:51:21" + }, + "nativeSrc": "10797:58:21", + "nodeType": "YulFunctionCall", + "src": "10797:58:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10785:6:21", + "nodeType": "YulIdentifier", + "src": "10785:6:21" + }, + "nativeSrc": "10785:71:21", + "nodeType": "YulFunctionCall", + "src": "10785:71:21" + }, + "nativeSrc": "10785:71:21", + "nodeType": "YulExpressionStatement", + "src": "10785:71:21" + } + ] + }, + "name": "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack", + "nativeSrc": "10689:173:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10763:5:21", + "nodeType": "YulTypedName", + "src": "10763:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10770:3:21", + "nodeType": "YulTypedName", + "src": "10770:3:21", + "type": "" + } + ], + "src": "10689:173:21" + }, + { + "body": { + "nativeSrc": "10987:145:21", + "nodeType": "YulBlock", + "src": "10987:145:21", + "statements": [ + { + "nativeSrc": "10997:26:21", + "nodeType": "YulAssignment", + "src": "10997:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11009:9:21", + "nodeType": "YulIdentifier", + "src": "11009:9:21" + }, + { + "kind": "number", + "nativeSrc": "11020:2:21", + "nodeType": "YulLiteral", + "src": "11020:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11005:3:21", + "nodeType": "YulIdentifier", + "src": "11005:3:21" + }, + "nativeSrc": "11005:18:21", + "nodeType": "YulFunctionCall", + "src": "11005:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10997:4:21", + "nodeType": "YulIdentifier", + "src": "10997:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "11098:6:21", + "nodeType": "YulIdentifier", + "src": "11098:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11111:9:21", + "nodeType": "YulIdentifier", + "src": "11111:9:21" + }, + { + "kind": "number", + "nativeSrc": "11122:1:21", + "nodeType": "YulLiteral", + "src": "11122:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11107:3:21", + "nodeType": "YulIdentifier", + "src": "11107:3:21" + }, + "nativeSrc": "11107:17:21", + "nodeType": "YulFunctionCall", + "src": "11107:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack", + "nativeSrc": "11033:64:21", + "nodeType": "YulIdentifier", + "src": "11033:64:21" + }, + "nativeSrc": "11033:92:21", + "nodeType": "YulFunctionCall", + "src": "11033:92:21" + }, + "nativeSrc": "11033:92:21", + "nodeType": "YulExpressionStatement", + "src": "11033:92:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed", + "nativeSrc": "10868:264:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10959:9:21", + "nodeType": "YulTypedName", + "src": "10959:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10971:6:21", + "nodeType": "YulTypedName", + "src": "10971:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10982:4:21", + "nodeType": "YulTypedName", + "src": "10982:4:21", + "type": "" + } + ], + "src": "10868:264:21" + }, + { + "body": { + "nativeSrc": "11181:79:21", + "nodeType": "YulBlock", + "src": "11181:79:21", + "statements": [ + { + "body": { + "nativeSrc": "11238:16:21", + "nodeType": "YulBlock", + "src": "11238:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11247:1:21", + "nodeType": "YulLiteral", + "src": "11247:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11250:1:21", + "nodeType": "YulLiteral", + "src": "11250:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11240:6:21", + "nodeType": "YulIdentifier", + "src": "11240:6:21" + }, + "nativeSrc": "11240:12:21", + "nodeType": "YulFunctionCall", + "src": "11240:12:21" + }, + "nativeSrc": "11240:12:21", + "nodeType": "YulExpressionStatement", + "src": "11240:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11204:5:21", + "nodeType": "YulIdentifier", + "src": "11204:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11229:5:21", + "nodeType": "YulIdentifier", + "src": "11229:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "11211:17:21", + "nodeType": "YulIdentifier", + "src": "11211:17:21" + }, + "nativeSrc": "11211:24:21", + "nodeType": "YulFunctionCall", + "src": "11211:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "11201:2:21", + "nodeType": "YulIdentifier", + "src": "11201:2:21" + }, + "nativeSrc": "11201:35:21", + "nodeType": "YulFunctionCall", + "src": "11201:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11194:6:21", + "nodeType": "YulIdentifier", + "src": "11194:6:21" + }, + "nativeSrc": "11194:43:21", + "nodeType": "YulFunctionCall", + "src": "11194:43:21" + }, + "nativeSrc": "11191:63:21", + "nodeType": "YulIf", + "src": "11191:63:21" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "11138:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11174:5:21", + "nodeType": "YulTypedName", + "src": "11174:5:21", + "type": "" + } + ], + "src": "11138:122:21" + }, + { + "body": { + "nativeSrc": "11318:87:21", + "nodeType": "YulBlock", + "src": "11318:87:21", + "statements": [ + { + "nativeSrc": "11328:29:21", + "nodeType": "YulAssignment", + "src": "11328:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11350:6:21", + "nodeType": "YulIdentifier", + "src": "11350:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "11337:12:21", + "nodeType": "YulIdentifier", + "src": "11337:12:21" + }, + "nativeSrc": "11337:20:21", + "nodeType": "YulFunctionCall", + "src": "11337:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "11328:5:21", + "nodeType": "YulIdentifier", + "src": "11328:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11393:5:21", + "nodeType": "YulIdentifier", + "src": "11393:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "11366:26:21", + "nodeType": "YulIdentifier", + "src": "11366:26:21" + }, + "nativeSrc": "11366:33:21", + "nodeType": "YulFunctionCall", + "src": "11366:33:21" + }, + "nativeSrc": "11366:33:21", + "nodeType": "YulExpressionStatement", + "src": "11366:33:21" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "11266:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "11296:6:21", + "nodeType": "YulTypedName", + "src": "11296:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "11304:3:21", + "nodeType": "YulTypedName", + "src": "11304:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "11312:5:21", + "nodeType": "YulTypedName", + "src": "11312:5:21", + "type": "" + } + ], + "src": "11266:139:21" + }, + { + "body": { + "nativeSrc": "11513:570:21", + "nodeType": "YulBlock", + "src": "11513:570:21", + "statements": [ + { + "body": { + "nativeSrc": "11559:83:21", + "nodeType": "YulBlock", + "src": "11559:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11561:77:21", + "nodeType": "YulIdentifier", + "src": "11561:77:21" + }, + "nativeSrc": "11561:79:21", + "nodeType": "YulFunctionCall", + "src": "11561:79:21" + }, + "nativeSrc": "11561:79:21", + "nodeType": "YulExpressionStatement", + "src": "11561:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11534:7:21", + "nodeType": "YulIdentifier", + "src": "11534:7:21" + }, + { + "name": "headStart", + "nativeSrc": "11543:9:21", + "nodeType": "YulIdentifier", + "src": "11543:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11530:3:21", + "nodeType": "YulIdentifier", + "src": "11530:3:21" + }, + "nativeSrc": "11530:23:21", + "nodeType": "YulFunctionCall", + "src": "11530:23:21" + }, + { + "kind": "number", + "nativeSrc": "11555:2:21", + "nodeType": "YulLiteral", + "src": "11555:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11526:3:21", + "nodeType": "YulIdentifier", + "src": "11526:3:21" + }, + "nativeSrc": "11526:32:21", + "nodeType": "YulFunctionCall", + "src": "11526:32:21" + }, + "nativeSrc": "11523:119:21", + "nodeType": "YulIf", + "src": "11523:119:21" + }, + { + "nativeSrc": "11652:296:21", + "nodeType": "YulBlock", + "src": "11652:296:21", + "statements": [ + { + "nativeSrc": "11667:45:21", + "nodeType": "YulVariableDeclaration", + "src": "11667:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11698:9:21", + "nodeType": "YulIdentifier", + "src": "11698:9:21" + }, + { + "kind": "number", + "nativeSrc": "11709:1:21", + "nodeType": "YulLiteral", + "src": "11709:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11694:3:21", + "nodeType": "YulIdentifier", + "src": "11694:3:21" + }, + "nativeSrc": "11694:17:21", + "nodeType": "YulFunctionCall", + "src": "11694:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "11681:12:21", + "nodeType": "YulIdentifier", + "src": "11681:12:21" + }, + "nativeSrc": "11681:31:21", + "nodeType": "YulFunctionCall", + "src": "11681:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11671:6:21", + "nodeType": "YulTypedName", + "src": "11671:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11759:83:21", + "nodeType": "YulBlock", + "src": "11759:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11761:77:21", + "nodeType": "YulIdentifier", + "src": "11761:77:21" + }, + "nativeSrc": "11761:79:21", + "nodeType": "YulFunctionCall", + "src": "11761:79:21" + }, + "nativeSrc": "11761:79:21", + "nodeType": "YulExpressionStatement", + "src": "11761:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11731:6:21", + "nodeType": "YulIdentifier", + "src": "11731:6:21" + }, + { + "kind": "number", + "nativeSrc": "11739:18:21", + "nodeType": "YulLiteral", + "src": "11739:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11728:2:21", + "nodeType": "YulIdentifier", + "src": "11728:2:21" + }, + "nativeSrc": "11728:30:21", + "nodeType": "YulFunctionCall", + "src": "11728:30:21" + }, + "nativeSrc": "11725:117:21", + "nodeType": "YulIf", + "src": "11725:117:21" + }, + { + "nativeSrc": "11856:82:21", + "nodeType": "YulAssignment", + "src": "11856:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11910:9:21", + "nodeType": "YulIdentifier", + "src": "11910:9:21" + }, + { + "name": "offset", + "nativeSrc": "11921:6:21", + "nodeType": "YulIdentifier", + "src": "11921:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11906:3:21", + "nodeType": "YulIdentifier", + "src": "11906:3:21" + }, + "nativeSrc": "11906:22:21", + "nodeType": "YulFunctionCall", + "src": "11906:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "11930:7:21", + "nodeType": "YulIdentifier", + "src": "11930:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "11874:31:21", + "nodeType": "YulIdentifier", + "src": "11874:31:21" + }, + "nativeSrc": "11874:64:21", + "nodeType": "YulFunctionCall", + "src": "11874:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11856:6:21", + "nodeType": "YulIdentifier", + "src": "11856:6:21" + }, + { + "name": "value1", + "nativeSrc": "11864:6:21", + "nodeType": "YulIdentifier", + "src": "11864:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "11958:118:21", + "nodeType": "YulBlock", + "src": "11958:118:21", + "statements": [ + { + "nativeSrc": "11973:16:21", + "nodeType": "YulVariableDeclaration", + "src": "11973:16:21", + "value": { + "kind": "number", + "nativeSrc": "11987:2:21", + "nodeType": "YulLiteral", + "src": "11987:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11977:6:21", + "nodeType": "YulTypedName", + "src": "11977:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "12003:63:21", + "nodeType": "YulAssignment", + "src": "12003:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12038:9:21", + "nodeType": "YulIdentifier", + "src": "12038:9:21" + }, + { + "name": "offset", + "nativeSrc": "12049:6:21", + "nodeType": "YulIdentifier", + "src": "12049:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12034:3:21", + "nodeType": "YulIdentifier", + "src": "12034:3:21" + }, + "nativeSrc": "12034:22:21", + "nodeType": "YulFunctionCall", + "src": "12034:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "12058:7:21", + "nodeType": "YulIdentifier", + "src": "12058:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "12013:20:21", + "nodeType": "YulIdentifier", + "src": "12013:20:21" + }, + "nativeSrc": "12013:53:21", + "nodeType": "YulFunctionCall", + "src": "12013:53:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "12003:6:21", + "nodeType": "YulIdentifier", + "src": "12003:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_uint256", + "nativeSrc": "11411:672:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11467:9:21", + "nodeType": "YulTypedName", + "src": "11467:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11478:7:21", + "nodeType": "YulTypedName", + "src": "11478:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11490:6:21", + "nodeType": "YulTypedName", + "src": "11490:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "11498:6:21", + "nodeType": "YulTypedName", + "src": "11498:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "11506:6:21", + "nodeType": "YulTypedName", + "src": "11506:6:21", + "type": "" + } + ], + "src": "11411:672:21" + }, + { + "body": { + "nativeSrc": "12132:79:21", + "nodeType": "YulBlock", + "src": "12132:79:21", + "statements": [ + { + "body": { + "nativeSrc": "12189:16:21", + "nodeType": "YulBlock", + "src": "12189:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12198:1:21", + "nodeType": "YulLiteral", + "src": "12198:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12201:1:21", + "nodeType": "YulLiteral", + "src": "12201:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12191:6:21", + "nodeType": "YulIdentifier", + "src": "12191:6:21" + }, + "nativeSrc": "12191:12:21", + "nodeType": "YulFunctionCall", + "src": "12191:12:21" + }, + "nativeSrc": "12191:12:21", + "nodeType": "YulExpressionStatement", + "src": "12191:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12155:5:21", + "nodeType": "YulIdentifier", + "src": "12155:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12180:5:21", + "nodeType": "YulIdentifier", + "src": "12180:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "12162:17:21", + "nodeType": "YulIdentifier", + "src": "12162:17:21" + }, + "nativeSrc": "12162:24:21", + "nodeType": "YulFunctionCall", + "src": "12162:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12152:2:21", + "nodeType": "YulIdentifier", + "src": "12152:2:21" + }, + "nativeSrc": "12152:35:21", + "nodeType": "YulFunctionCall", + "src": "12152:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12145:6:21", + "nodeType": "YulIdentifier", + "src": "12145:6:21" + }, + "nativeSrc": "12145:43:21", + "nodeType": "YulFunctionCall", + "src": "12145:43:21" + }, + "nativeSrc": "12142:63:21", + "nodeType": "YulIf", + "src": "12142:63:21" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "12089:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12125:5:21", + "nodeType": "YulTypedName", + "src": "12125:5:21", + "type": "" + } + ], + "src": "12089:122:21" + }, + { + "body": { + "nativeSrc": "12269:87:21", + "nodeType": "YulBlock", + "src": "12269:87:21", + "statements": [ + { + "nativeSrc": "12279:29:21", + "nodeType": "YulAssignment", + "src": "12279:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12301:6:21", + "nodeType": "YulIdentifier", + "src": "12301:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12288:12:21", + "nodeType": "YulIdentifier", + "src": "12288:12:21" + }, + "nativeSrc": "12288:20:21", + "nodeType": "YulFunctionCall", + "src": "12288:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "12279:5:21", + "nodeType": "YulIdentifier", + "src": "12279:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12344:5:21", + "nodeType": "YulIdentifier", + "src": "12344:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "12317:26:21", + "nodeType": "YulIdentifier", + "src": "12317:26:21" + }, + "nativeSrc": "12317:33:21", + "nodeType": "YulFunctionCall", + "src": "12317:33:21" + }, + "nativeSrc": "12317:33:21", + "nodeType": "YulExpressionStatement", + "src": "12317:33:21" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "12217:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "12247:6:21", + "nodeType": "YulTypedName", + "src": "12247:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12255:3:21", + "nodeType": "YulTypedName", + "src": "12255:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "12263:5:21", + "nodeType": "YulTypedName", + "src": "12263:5:21", + "type": "" + } + ], + "src": "12217:139:21" + }, + { + "body": { + "nativeSrc": "12464:570:21", + "nodeType": "YulBlock", + "src": "12464:570:21", + "statements": [ + { + "body": { + "nativeSrc": "12510:83:21", + "nodeType": "YulBlock", + "src": "12510:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "12512:77:21", + "nodeType": "YulIdentifier", + "src": "12512:77:21" + }, + "nativeSrc": "12512:79:21", + "nodeType": "YulFunctionCall", + "src": "12512:79:21" + }, + "nativeSrc": "12512:79:21", + "nodeType": "YulExpressionStatement", + "src": "12512:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "12485:7:21", + "nodeType": "YulIdentifier", + "src": "12485:7:21" + }, + { + "name": "headStart", + "nativeSrc": "12494:9:21", + "nodeType": "YulIdentifier", + "src": "12494:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12481:3:21", + "nodeType": "YulIdentifier", + "src": "12481:3:21" + }, + "nativeSrc": "12481:23:21", + "nodeType": "YulFunctionCall", + "src": "12481:23:21" + }, + { + "kind": "number", + "nativeSrc": "12506:2:21", + "nodeType": "YulLiteral", + "src": "12506:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12477:3:21", + "nodeType": "YulIdentifier", + "src": "12477:3:21" + }, + "nativeSrc": "12477:32:21", + "nodeType": "YulFunctionCall", + "src": "12477:32:21" + }, + "nativeSrc": "12474:119:21", + "nodeType": "YulIf", + "src": "12474:119:21" + }, + { + "nativeSrc": "12603:296:21", + "nodeType": "YulBlock", + "src": "12603:296:21", + "statements": [ + { + "nativeSrc": "12618:45:21", + "nodeType": "YulVariableDeclaration", + "src": "12618:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12649:9:21", + "nodeType": "YulIdentifier", + "src": "12649:9:21" + }, + { + "kind": "number", + "nativeSrc": "12660:1:21", + "nodeType": "YulLiteral", + "src": "12660:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12645:3:21", + "nodeType": "YulIdentifier", + "src": "12645:3:21" + }, + "nativeSrc": "12645:17:21", + "nodeType": "YulFunctionCall", + "src": "12645:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12632:12:21", + "nodeType": "YulIdentifier", + "src": "12632:12:21" + }, + "nativeSrc": "12632:31:21", + "nodeType": "YulFunctionCall", + "src": "12632:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12622:6:21", + "nodeType": "YulTypedName", + "src": "12622:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12710:83:21", + "nodeType": "YulBlock", + "src": "12710:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "12712:77:21", + "nodeType": "YulIdentifier", + "src": "12712:77:21" + }, + "nativeSrc": "12712:79:21", + "nodeType": "YulFunctionCall", + "src": "12712:79:21" + }, + "nativeSrc": "12712:79:21", + "nodeType": "YulExpressionStatement", + "src": "12712:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12682:6:21", + "nodeType": "YulIdentifier", + "src": "12682:6:21" + }, + { + "kind": "number", + "nativeSrc": "12690:18:21", + "nodeType": "YulLiteral", + "src": "12690:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12679:2:21", + "nodeType": "YulIdentifier", + "src": "12679:2:21" + }, + "nativeSrc": "12679:30:21", + "nodeType": "YulFunctionCall", + "src": "12679:30:21" + }, + "nativeSrc": "12676:117:21", + "nodeType": "YulIf", + "src": "12676:117:21" + }, + { + "nativeSrc": "12807:82:21", + "nodeType": "YulAssignment", + "src": "12807:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12861:9:21", + "nodeType": "YulIdentifier", + "src": "12861:9:21" + }, + { + "name": "offset", + "nativeSrc": "12872:6:21", + "nodeType": "YulIdentifier", + "src": "12872:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12857:3:21", + "nodeType": "YulIdentifier", + "src": "12857:3:21" + }, + "nativeSrc": "12857:22:21", + "nodeType": "YulFunctionCall", + "src": "12857:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "12881:7:21", + "nodeType": "YulIdentifier", + "src": "12881:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "12825:31:21", + "nodeType": "YulIdentifier", + "src": "12825:31:21" + }, + "nativeSrc": "12825:64:21", + "nodeType": "YulFunctionCall", + "src": "12825:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "12807:6:21", + "nodeType": "YulIdentifier", + "src": "12807:6:21" + }, + { + "name": "value1", + "nativeSrc": "12815:6:21", + "nodeType": "YulIdentifier", + "src": "12815:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "12909:118:21", + "nodeType": "YulBlock", + "src": "12909:118:21", + "statements": [ + { + "nativeSrc": "12924:16:21", + "nodeType": "YulVariableDeclaration", + "src": "12924:16:21", + "value": { + "kind": "number", + "nativeSrc": "12938:2:21", + "nodeType": "YulLiteral", + "src": "12938:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12928:6:21", + "nodeType": "YulTypedName", + "src": "12928:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "12954:63:21", + "nodeType": "YulAssignment", + "src": "12954:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12989:9:21", + "nodeType": "YulIdentifier", + "src": "12989:9:21" + }, + { + "name": "offset", + "nativeSrc": "13000:6:21", + "nodeType": "YulIdentifier", + "src": "13000:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12985:3:21", + "nodeType": "YulIdentifier", + "src": "12985:3:21" + }, + "nativeSrc": "12985:22:21", + "nodeType": "YulFunctionCall", + "src": "12985:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "13009:7:21", + "nodeType": "YulIdentifier", + "src": "13009:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "12964:20:21", + "nodeType": "YulIdentifier", + "src": "12964:20:21" + }, + "nativeSrc": "12964:53:21", + "nodeType": "YulFunctionCall", + "src": "12964:53:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "12954:6:21", + "nodeType": "YulIdentifier", + "src": "12954:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_address", + "nativeSrc": "12362:672:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12418:9:21", + "nodeType": "YulTypedName", + "src": "12418:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "12429:7:21", + "nodeType": "YulTypedName", + "src": "12429:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "12441:6:21", + "nodeType": "YulTypedName", + "src": "12441:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "12449:6:21", + "nodeType": "YulTypedName", + "src": "12449:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "12457:6:21", + "nodeType": "YulTypedName", + "src": "12457:6:21", + "type": "" + } + ], + "src": "12362:672:21" + }, + { + "body": { + "nativeSrc": "13131:229:21", + "nodeType": "YulBlock", + "src": "13131:229:21", + "statements": [ + { + "body": { + "nativeSrc": "13236:22:21", + "nodeType": "YulBlock", + "src": "13236:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "13238:16:21", + "nodeType": "YulIdentifier", + "src": "13238:16:21" + }, + "nativeSrc": "13238:18:21", + "nodeType": "YulFunctionCall", + "src": "13238:18:21" + }, + "nativeSrc": "13238:18:21", + "nodeType": "YulExpressionStatement", + "src": "13238:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13208:6:21", + "nodeType": "YulIdentifier", + "src": "13208:6:21" + }, + { + "kind": "number", + "nativeSrc": "13216:18:21", + "nodeType": "YulLiteral", + "src": "13216:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13205:2:21", + "nodeType": "YulIdentifier", + "src": "13205:2:21" + }, + "nativeSrc": "13205:30:21", + "nodeType": "YulFunctionCall", + "src": "13205:30:21" + }, + "nativeSrc": "13202:56:21", + "nodeType": "YulIf", + "src": "13202:56:21" + }, + { + "nativeSrc": "13268:25:21", + "nodeType": "YulAssignment", + "src": "13268:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13280:6:21", + "nodeType": "YulIdentifier", + "src": "13280:6:21" + }, + { + "kind": "number", + "nativeSrc": "13288:4:21", + "nodeType": "YulLiteral", + "src": "13288:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13276:3:21", + "nodeType": "YulIdentifier", + "src": "13276:3:21" + }, + "nativeSrc": "13276:17:21", + "nodeType": "YulFunctionCall", + "src": "13276:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13268:4:21", + "nodeType": "YulIdentifier", + "src": "13268:4:21" + } + ] + }, + { + "nativeSrc": "13330:23:21", + "nodeType": "YulAssignment", + "src": "13330:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "13342:4:21", + "nodeType": "YulIdentifier", + "src": "13342:4:21" + }, + { + "kind": "number", + "nativeSrc": "13348:4:21", + "nodeType": "YulLiteral", + "src": "13348:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13338:3:21", + "nodeType": "YulIdentifier", + "src": "13338:3:21" + }, + "nativeSrc": "13338:15:21", + "nodeType": "YulFunctionCall", + "src": "13338:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13330:4:21", + "nodeType": "YulIdentifier", + "src": "13330:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13040:320:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "13115:6:21", + "nodeType": "YulTypedName", + "src": "13115:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "13126:4:21", + "nodeType": "YulTypedName", + "src": "13126:4:21", + "type": "" + } + ], + "src": "13040:320:21" + }, + { + "body": { + "nativeSrc": "13492:831:21", + "nodeType": "YulBlock", + "src": "13492:831:21", + "statements": [ + { + "nativeSrc": "13502:99:21", + "nodeType": "YulAssignment", + "src": "13502:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13593:6:21", + "nodeType": "YulIdentifier", + "src": "13593:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13527:65:21", + "nodeType": "YulIdentifier", + "src": "13527:65:21" + }, + "nativeSrc": "13527:73:21", + "nodeType": "YulFunctionCall", + "src": "13527:73:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "13511:15:21", + "nodeType": "YulIdentifier", + "src": "13511:15:21" + }, + "nativeSrc": "13511:90:21", + "nodeType": "YulFunctionCall", + "src": "13511:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13502:5:21", + "nodeType": "YulIdentifier", + "src": "13502:5:21" + } + ] + }, + { + "nativeSrc": "13610:16:21", + "nodeType": "YulVariableDeclaration", + "src": "13610:16:21", + "value": { + "name": "array", + "nativeSrc": "13621:5:21", + "nodeType": "YulIdentifier", + "src": "13621:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "13614:3:21", + "nodeType": "YulTypedName", + "src": "13614:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13643:5:21", + "nodeType": "YulIdentifier", + "src": "13643:5:21" + }, + { + "name": "length", + "nativeSrc": "13650:6:21", + "nodeType": "YulIdentifier", + "src": "13650:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13636:6:21", + "nodeType": "YulIdentifier", + "src": "13636:6:21" + }, + "nativeSrc": "13636:21:21", + "nodeType": "YulFunctionCall", + "src": "13636:21:21" + }, + "nativeSrc": "13636:21:21", + "nodeType": "YulExpressionStatement", + "src": "13636:21:21" + }, + { + "nativeSrc": "13666:23:21", + "nodeType": "YulAssignment", + "src": "13666:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13677:5:21", + "nodeType": "YulIdentifier", + "src": "13677:5:21" + }, + { + "kind": "number", + "nativeSrc": "13684:4:21", + "nodeType": "YulLiteral", + "src": "13684:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13673:3:21", + "nodeType": "YulIdentifier", + "src": "13673:3:21" + }, + "nativeSrc": "13673:16:21", + "nodeType": "YulFunctionCall", + "src": "13673:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "13666:3:21", + "nodeType": "YulIdentifier", + "src": "13666:3:21" + } + ] + }, + { + "nativeSrc": "13699:44:21", + "nodeType": "YulVariableDeclaration", + "src": "13699:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13717:6:21", + "nodeType": "YulIdentifier", + "src": "13717:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13729:6:21", + "nodeType": "YulIdentifier", + "src": "13729:6:21" + }, + { + "kind": "number", + "nativeSrc": "13737:4:21", + "nodeType": "YulLiteral", + "src": "13737:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13725:3:21", + "nodeType": "YulIdentifier", + "src": "13725:3:21" + }, + "nativeSrc": "13725:17:21", + "nodeType": "YulFunctionCall", + "src": "13725:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13713:3:21", + "nodeType": "YulIdentifier", + "src": "13713:3:21" + }, + "nativeSrc": "13713:30:21", + "nodeType": "YulFunctionCall", + "src": "13713:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "13703:6:21", + "nodeType": "YulTypedName", + "src": "13703:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13771:103:21", + "nodeType": "YulBlock", + "src": "13771:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "13785:77:21", + "nodeType": "YulIdentifier", + "src": "13785:77:21" + }, + "nativeSrc": "13785:79:21", + "nodeType": "YulFunctionCall", + "src": "13785:79:21" + }, + "nativeSrc": "13785:79:21", + "nodeType": "YulExpressionStatement", + "src": "13785:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "13758:6:21", + "nodeType": "YulIdentifier", + "src": "13758:6:21" + }, + { + "name": "end", + "nativeSrc": "13766:3:21", + "nodeType": "YulIdentifier", + "src": "13766:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13755:2:21", + "nodeType": "YulIdentifier", + "src": "13755:2:21" + }, + "nativeSrc": "13755:15:21", + "nodeType": "YulFunctionCall", + "src": "13755:15:21" + }, + "nativeSrc": "13752:122:21", + "nodeType": "YulIf", + "src": "13752:122:21" + }, + { + "body": { + "nativeSrc": "13959:358:21", + "nodeType": "YulBlock", + "src": "13959:358:21", + "statements": [ + { + "nativeSrc": "13974:36:21", + "nodeType": "YulVariableDeclaration", + "src": "13974:36:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "14006:3:21", + "nodeType": "YulIdentifier", + "src": "14006:3:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13993:12:21", + "nodeType": "YulIdentifier", + "src": "13993:12:21" + }, + "nativeSrc": "13993:17:21", + "nodeType": "YulFunctionCall", + "src": "13993:17:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "13978:11:21", + "nodeType": "YulTypedName", + "src": "13978:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14062:83:21", + "nodeType": "YulBlock", + "src": "14062:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "14064:77:21", + "nodeType": "YulIdentifier", + "src": "14064:77:21" + }, + "nativeSrc": "14064:79:21", + "nodeType": "YulFunctionCall", + "src": "14064:79:21" + }, + "nativeSrc": "14064:79:21", + "nodeType": "YulExpressionStatement", + "src": "14064:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "14029:11:21", + "nodeType": "YulIdentifier", + "src": "14029:11:21" + }, + { + "kind": "number", + "nativeSrc": "14042:18:21", + "nodeType": "YulLiteral", + "src": "14042:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14026:2:21", + "nodeType": "YulIdentifier", + "src": "14026:2:21" + }, + "nativeSrc": "14026:35:21", + "nodeType": "YulFunctionCall", + "src": "14026:35:21" + }, + "nativeSrc": "14023:122:21", + "nodeType": "YulIf", + "src": "14023:122:21" + }, + { + "nativeSrc": "14158:42:21", + "nodeType": "YulVariableDeclaration", + "src": "14158:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14180:6:21", + "nodeType": "YulIdentifier", + "src": "14180:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "14188:11:21", + "nodeType": "YulIdentifier", + "src": "14188:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14176:3:21", + "nodeType": "YulIdentifier", + "src": "14176:3:21" + }, + "nativeSrc": "14176:24:21", + "nodeType": "YulFunctionCall", + "src": "14176:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "14162:10:21", + "nodeType": "YulTypedName", + "src": "14162:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14221:3:21", + "nodeType": "YulIdentifier", + "src": "14221:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "14256:10:21", + "nodeType": "YulIdentifier", + "src": "14256:10:21" + }, + { + "name": "end", + "nativeSrc": "14268:3:21", + "nodeType": "YulIdentifier", + "src": "14268:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "14226:29:21", + "nodeType": "YulIdentifier", + "src": "14226:29:21" + }, + "nativeSrc": "14226:46:21", + "nodeType": "YulFunctionCall", + "src": "14226:46:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14214:6:21", + "nodeType": "YulIdentifier", + "src": "14214:6:21" + }, + "nativeSrc": "14214:59:21", + "nodeType": "YulFunctionCall", + "src": "14214:59:21" + }, + "nativeSrc": "14214:59:21", + "nodeType": "YulExpressionStatement", + "src": "14214:59:21" + }, + { + "nativeSrc": "14286:21:21", + "nodeType": "YulAssignment", + "src": "14286:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14297:3:21", + "nodeType": "YulIdentifier", + "src": "14297:3:21" + }, + { + "kind": "number", + "nativeSrc": "14302:4:21", + "nodeType": "YulLiteral", + "src": "14302:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14293:3:21", + "nodeType": "YulIdentifier", + "src": "14293:3:21" + }, + "nativeSrc": "14293:14:21", + "nodeType": "YulFunctionCall", + "src": "14293:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "14286:3:21", + "nodeType": "YulIdentifier", + "src": "14286:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13912:3:21", + "nodeType": "YulIdentifier", + "src": "13912:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "13917:6:21", + "nodeType": "YulIdentifier", + "src": "13917:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "13909:2:21", + "nodeType": "YulIdentifier", + "src": "13909:2:21" + }, + "nativeSrc": "13909:15:21", + "nodeType": "YulFunctionCall", + "src": "13909:15:21" + }, + "nativeSrc": "13883:434:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "13925:25:21", + "nodeType": "YulBlock", + "src": "13925:25:21", + "statements": [ + { + "nativeSrc": "13927:21:21", + "nodeType": "YulAssignment", + "src": "13927:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13938:3:21", + "nodeType": "YulIdentifier", + "src": "13938:3:21" + }, + { + "kind": "number", + "nativeSrc": "13943:4:21", + "nodeType": "YulLiteral", + "src": "13943:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13934:3:21", + "nodeType": "YulIdentifier", + "src": "13934:3:21" + }, + "nativeSrc": "13934:14:21", + "nodeType": "YulFunctionCall", + "src": "13934:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "13927:3:21", + "nodeType": "YulIdentifier", + "src": "13927:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "13887:21:21", + "nodeType": "YulBlock", + "src": "13887:21:21", + "statements": [ + { + "nativeSrc": "13889:17:21", + "nodeType": "YulVariableDeclaration", + "src": "13889:17:21", + "value": { + "name": "offset", + "nativeSrc": "13900:6:21", + "nodeType": "YulIdentifier", + "src": "13900:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "13893:3:21", + "nodeType": "YulTypedName", + "src": "13893:3:21", + "type": "" + } + ] + } + ] + }, + "src": "13883:434:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13381:942:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13462:6:21", + "nodeType": "YulTypedName", + "src": "13462:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "13470:6:21", + "nodeType": "YulTypedName", + "src": "13470:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13478:3:21", + "nodeType": "YulTypedName", + "src": "13478:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13486:5:21", + "nodeType": "YulTypedName", + "src": "13486:5:21", + "type": "" + } + ], + "src": "13381:942:21" + }, + { + "body": { + "nativeSrc": "14430:302:21", + "nodeType": "YulBlock", + "src": "14430:302:21", + "statements": [ + { + "body": { + "nativeSrc": "14479:83:21", + "nodeType": "YulBlock", + "src": "14479:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "14481:77:21", + "nodeType": "YulIdentifier", + "src": "14481:77:21" + }, + "nativeSrc": "14481:79:21", + "nodeType": "YulFunctionCall", + "src": "14481:79:21" + }, + "nativeSrc": "14481:79:21", + "nodeType": "YulExpressionStatement", + "src": "14481:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14458:6:21", + "nodeType": "YulIdentifier", + "src": "14458:6:21" + }, + { + "kind": "number", + "nativeSrc": "14466:4:21", + "nodeType": "YulLiteral", + "src": "14466:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14454:3:21", + "nodeType": "YulIdentifier", + "src": "14454:3:21" + }, + "nativeSrc": "14454:17:21", + "nodeType": "YulFunctionCall", + "src": "14454:17:21" + }, + { + "name": "end", + "nativeSrc": "14473:3:21", + "nodeType": "YulIdentifier", + "src": "14473:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14450:3:21", + "nodeType": "YulIdentifier", + "src": "14450:3:21" + }, + "nativeSrc": "14450:27:21", + "nodeType": "YulFunctionCall", + "src": "14450:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "14443:6:21", + "nodeType": "YulIdentifier", + "src": "14443:6:21" + }, + "nativeSrc": "14443:35:21", + "nodeType": "YulFunctionCall", + "src": "14443:35:21" + }, + "nativeSrc": "14440:122:21", + "nodeType": "YulIf", + "src": "14440:122:21" + }, + { + "nativeSrc": "14571:34:21", + "nodeType": "YulVariableDeclaration", + "src": "14571:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14598:6:21", + "nodeType": "YulIdentifier", + "src": "14598:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14585:12:21", + "nodeType": "YulIdentifier", + "src": "14585:12:21" + }, + "nativeSrc": "14585:20:21", + "nodeType": "YulFunctionCall", + "src": "14585:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "14575:6:21", + "nodeType": "YulTypedName", + "src": "14575:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "14614:112:21", + "nodeType": "YulAssignment", + "src": "14614:112:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14699:6:21", + "nodeType": "YulIdentifier", + "src": "14699:6:21" + }, + { + "kind": "number", + "nativeSrc": "14707:4:21", + "nodeType": "YulLiteral", + "src": "14707:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14695:3:21", + "nodeType": "YulIdentifier", + "src": "14695:3:21" + }, + "nativeSrc": "14695:17:21", + "nodeType": "YulFunctionCall", + "src": "14695:17:21" + }, + { + "name": "length", + "nativeSrc": "14714:6:21", + "nodeType": "YulIdentifier", + "src": "14714:6:21" + }, + { + "name": "end", + "nativeSrc": "14722:3:21", + "nodeType": "YulIdentifier", + "src": "14722:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "14623:71:21", + "nodeType": "YulIdentifier", + "src": "14623:71:21" + }, + "nativeSrc": "14623:103:21", + "nodeType": "YulFunctionCall", + "src": "14623:103:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "14614:5:21", + "nodeType": "YulIdentifier", + "src": "14614:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "14344:388:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14408:6:21", + "nodeType": "YulTypedName", + "src": "14408:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "14416:3:21", + "nodeType": "YulTypedName", + "src": "14416:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "14424:5:21", + "nodeType": "YulTypedName", + "src": "14424:5:21", + "type": "" + } + ], + "src": "14344:388:21" + }, + { + "body": { + "nativeSrc": "14864:754:21", + "nodeType": "YulBlock", + "src": "14864:754:21", + "statements": [ + { + "body": { + "nativeSrc": "14910:83:21", + "nodeType": "YulBlock", + "src": "14910:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "14912:77:21", + "nodeType": "YulIdentifier", + "src": "14912:77:21" + }, + "nativeSrc": "14912:79:21", + "nodeType": "YulFunctionCall", + "src": "14912:79:21" + }, + "nativeSrc": "14912:79:21", + "nodeType": "YulExpressionStatement", + "src": "14912:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14885:7:21", + "nodeType": "YulIdentifier", + "src": "14885:7:21" + }, + { + "name": "headStart", + "nativeSrc": "14894:9:21", + "nodeType": "YulIdentifier", + "src": "14894:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14881:3:21", + "nodeType": "YulIdentifier", + "src": "14881:3:21" + }, + "nativeSrc": "14881:23:21", + "nodeType": "YulFunctionCall", + "src": "14881:23:21" + }, + { + "kind": "number", + "nativeSrc": "14906:2:21", + "nodeType": "YulLiteral", + "src": "14906:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14877:3:21", + "nodeType": "YulIdentifier", + "src": "14877:3:21" + }, + "nativeSrc": "14877:32:21", + "nodeType": "YulFunctionCall", + "src": "14877:32:21" + }, + "nativeSrc": "14874:119:21", + "nodeType": "YulIf", + "src": "14874:119:21" + }, + { + "nativeSrc": "15003:311:21", + "nodeType": "YulBlock", + "src": "15003:311:21", + "statements": [ + { + "nativeSrc": "15018:45:21", + "nodeType": "YulVariableDeclaration", + "src": "15018:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15049:9:21", + "nodeType": "YulIdentifier", + "src": "15049:9:21" + }, + { + "kind": "number", + "nativeSrc": "15060:1:21", + "nodeType": "YulLiteral", + "src": "15060:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15045:3:21", + "nodeType": "YulIdentifier", + "src": "15045:3:21" + }, + "nativeSrc": "15045:17:21", + "nodeType": "YulFunctionCall", + "src": "15045:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15032:12:21", + "nodeType": "YulIdentifier", + "src": "15032:12:21" + }, + "nativeSrc": "15032:31:21", + "nodeType": "YulFunctionCall", + "src": "15032:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15022:6:21", + "nodeType": "YulTypedName", + "src": "15022:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15110:83:21", + "nodeType": "YulBlock", + "src": "15110:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "15112:77:21", + "nodeType": "YulIdentifier", + "src": "15112:77:21" + }, + "nativeSrc": "15112:79:21", + "nodeType": "YulFunctionCall", + "src": "15112:79:21" + }, + "nativeSrc": "15112:79:21", + "nodeType": "YulExpressionStatement", + "src": "15112:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15082:6:21", + "nodeType": "YulIdentifier", + "src": "15082:6:21" + }, + { + "kind": "number", + "nativeSrc": "15090:18:21", + "nodeType": "YulLiteral", + "src": "15090:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15079:2:21", + "nodeType": "YulIdentifier", + "src": "15079:2:21" + }, + "nativeSrc": "15079:30:21", + "nodeType": "YulFunctionCall", + "src": "15079:30:21" + }, + "nativeSrc": "15076:117:21", + "nodeType": "YulIf", + "src": "15076:117:21" + }, + { + "nativeSrc": "15207:97:21", + "nodeType": "YulAssignment", + "src": "15207:97:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15276:9:21", + "nodeType": "YulIdentifier", + "src": "15276:9:21" + }, + { + "name": "offset", + "nativeSrc": "15287:6:21", + "nodeType": "YulIdentifier", + "src": "15287:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15272:3:21", + "nodeType": "YulIdentifier", + "src": "15272:3:21" + }, + "nativeSrc": "15272:22:21", + "nodeType": "YulFunctionCall", + "src": "15272:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "15296:7:21", + "nodeType": "YulIdentifier", + "src": "15296:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "15217:54:21", + "nodeType": "YulIdentifier", + "src": "15217:54:21" + }, + "nativeSrc": "15217:87:21", + "nodeType": "YulFunctionCall", + "src": "15217:87:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15207:6:21", + "nodeType": "YulIdentifier", + "src": "15207:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "15324:287:21", + "nodeType": "YulBlock", + "src": "15324:287:21", + "statements": [ + { + "nativeSrc": "15339:46:21", + "nodeType": "YulVariableDeclaration", + "src": "15339:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15370:9:21", + "nodeType": "YulIdentifier", + "src": "15370:9:21" + }, + { + "kind": "number", + "nativeSrc": "15381:2:21", + "nodeType": "YulLiteral", + "src": "15381:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15366:3:21", + "nodeType": "YulIdentifier", + "src": "15366:3:21" + }, + "nativeSrc": "15366:18:21", + "nodeType": "YulFunctionCall", + "src": "15366:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15353:12:21", + "nodeType": "YulIdentifier", + "src": "15353:12:21" + }, + "nativeSrc": "15353:32:21", + "nodeType": "YulFunctionCall", + "src": "15353:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15343:6:21", + "nodeType": "YulTypedName", + "src": "15343:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15432:83:21", + "nodeType": "YulBlock", + "src": "15432:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "15434:77:21", + "nodeType": "YulIdentifier", + "src": "15434:77:21" + }, + "nativeSrc": "15434:79:21", + "nodeType": "YulFunctionCall", + "src": "15434:79:21" + }, + "nativeSrc": "15434:79:21", + "nodeType": "YulExpressionStatement", + "src": "15434:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15404:6:21", + "nodeType": "YulIdentifier", + "src": "15404:6:21" + }, + { + "kind": "number", + "nativeSrc": "15412:18:21", + "nodeType": "YulLiteral", + "src": "15412:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15401:2:21", + "nodeType": "YulIdentifier", + "src": "15401:2:21" + }, + "nativeSrc": "15401:30:21", + "nodeType": "YulFunctionCall", + "src": "15401:30:21" + }, + "nativeSrc": "15398:117:21", + "nodeType": "YulIf", + "src": "15398:117:21" + }, + { + "nativeSrc": "15529:72:21", + "nodeType": "YulAssignment", + "src": "15529:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15573:9:21", + "nodeType": "YulIdentifier", + "src": "15573:9:21" + }, + { + "name": "offset", + "nativeSrc": "15584:6:21", + "nodeType": "YulIdentifier", + "src": "15584:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15569:3:21", + "nodeType": "YulIdentifier", + "src": "15569:3:21" + }, + "nativeSrc": "15569:22:21", + "nodeType": "YulFunctionCall", + "src": "15569:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "15593:7:21", + "nodeType": "YulIdentifier", + "src": "15593:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "15539:29:21", + "nodeType": "YulIdentifier", + "src": "15539:29:21" + }, + "nativeSrc": "15539:62:21", + "nodeType": "YulFunctionCall", + "src": "15539:62:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "15529:6:21", + "nodeType": "YulIdentifier", + "src": "15529:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr", + "nativeSrc": "14738:880:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14826:9:21", + "nodeType": "YulTypedName", + "src": "14826:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14837:7:21", + "nodeType": "YulTypedName", + "src": "14837:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14849:6:21", + "nodeType": "YulTypedName", + "src": "14849:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14857:6:21", + "nodeType": "YulTypedName", + "src": "14857:6:21", + "type": "" + } + ], + "src": "14738:880:21" + }, + { + "body": { + "nativeSrc": "15727:73:21", + "nodeType": "YulBlock", + "src": "15727:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15744:3:21", + "nodeType": "YulIdentifier", + "src": "15744:3:21" + }, + { + "name": "length", + "nativeSrc": "15749:6:21", + "nodeType": "YulIdentifier", + "src": "15749:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15737:6:21", + "nodeType": "YulIdentifier", + "src": "15737:6:21" + }, + "nativeSrc": "15737:19:21", + "nodeType": "YulFunctionCall", + "src": "15737:19:21" + }, + "nativeSrc": "15737:19:21", + "nodeType": "YulExpressionStatement", + "src": "15737:19:21" + }, + { + "nativeSrc": "15765:29:21", + "nodeType": "YulAssignment", + "src": "15765:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15784:3:21", + "nodeType": "YulIdentifier", + "src": "15784:3:21" + }, + { + "kind": "number", + "nativeSrc": "15789:4:21", + "nodeType": "YulLiteral", + "src": "15789:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15780:3:21", + "nodeType": "YulIdentifier", + "src": "15780:3:21" + }, + "nativeSrc": "15780:14:21", + "nodeType": "YulFunctionCall", + "src": "15780:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "15765:11:21", + "nodeType": "YulIdentifier", + "src": "15765:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15624:176:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15699:3:21", + "nodeType": "YulTypedName", + "src": "15699:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "15704:6:21", + "nodeType": "YulTypedName", + "src": "15704:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "15715:11:21", + "nodeType": "YulTypedName", + "src": "15715:11:21", + "type": "" + } + ], + "src": "15624:176:21" + }, + { + "body": { + "nativeSrc": "15936:222:21", + "nodeType": "YulBlock", + "src": "15936:222:21", + "statements": [ + { + "nativeSrc": "15946:85:21", + "nodeType": "YulAssignment", + "src": "15946:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16019:3:21", + "nodeType": "YulIdentifier", + "src": "16019:3:21" + }, + { + "name": "length", + "nativeSrc": "16024:6:21", + "nodeType": "YulIdentifier", + "src": "16024:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15953:65:21", + "nodeType": "YulIdentifier", + "src": "15953:65:21" + }, + "nativeSrc": "15953:78:21", + "nodeType": "YulFunctionCall", + "src": "15953:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15946:3:21", + "nodeType": "YulIdentifier", + "src": "15946:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "16078:5:21", + "nodeType": "YulIdentifier", + "src": "16078:5:21" + }, + { + "name": "pos", + "nativeSrc": "16085:3:21", + "nodeType": "YulIdentifier", + "src": "16085:3:21" + }, + { + "name": "length", + "nativeSrc": "16090:6:21", + "nodeType": "YulIdentifier", + "src": "16090:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "16041:36:21", + "nodeType": "YulIdentifier", + "src": "16041:36:21" + }, + "nativeSrc": "16041:56:21", + "nodeType": "YulFunctionCall", + "src": "16041:56:21" + }, + "nativeSrc": "16041:56:21", + "nodeType": "YulExpressionStatement", + "src": "16041:56:21" + }, + { + "nativeSrc": "16106:46:21", + "nodeType": "YulAssignment", + "src": "16106:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16117:3:21", + "nodeType": "YulIdentifier", + "src": "16117:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16144:6:21", + "nodeType": "YulIdentifier", + "src": "16144:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "16122:21:21", + "nodeType": "YulIdentifier", + "src": "16122:21:21" + }, + "nativeSrc": "16122:29:21", + "nodeType": "YulFunctionCall", + "src": "16122:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16113:3:21", + "nodeType": "YulIdentifier", + "src": "16113:3:21" + }, + "nativeSrc": "16113:39:21", + "nodeType": "YulFunctionCall", + "src": "16113:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16106:3:21", + "nodeType": "YulIdentifier", + "src": "16106:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15828:330:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "15909:5:21", + "nodeType": "YulTypedName", + "src": "15909:5:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "15916:6:21", + "nodeType": "YulTypedName", + "src": "15916:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "15924:3:21", + "nodeType": "YulTypedName", + "src": "15924:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15932:3:21", + "nodeType": "YulTypedName", + "src": "15932:3:21", + "type": "" + } + ], + "src": "15828:330:21" + }, + { + "body": { + "nativeSrc": "16298:211:21", + "nodeType": "YulBlock", + "src": "16298:211:21", + "statements": [ + { + "nativeSrc": "16308:26:21", + "nodeType": "YulAssignment", + "src": "16308:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16320:9:21", + "nodeType": "YulIdentifier", + "src": "16320:9:21" + }, + { + "kind": "number", + "nativeSrc": "16331:2:21", + "nodeType": "YulLiteral", + "src": "16331:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16316:3:21", + "nodeType": "YulIdentifier", + "src": "16316:3:21" + }, + "nativeSrc": "16316:18:21", + "nodeType": "YulFunctionCall", + "src": "16316:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16308:4:21", + "nodeType": "YulIdentifier", + "src": "16308:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16355:9:21", + "nodeType": "YulIdentifier", + "src": "16355:9:21" + }, + { + "kind": "number", + "nativeSrc": "16366:1:21", + "nodeType": "YulLiteral", + "src": "16366:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16351:3:21", + "nodeType": "YulIdentifier", + "src": "16351:3:21" + }, + "nativeSrc": "16351:17:21", + "nodeType": "YulFunctionCall", + "src": "16351:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16374:4:21", + "nodeType": "YulIdentifier", + "src": "16374:4:21" + }, + { + "name": "headStart", + "nativeSrc": "16380:9:21", + "nodeType": "YulIdentifier", + "src": "16380:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16370:3:21", + "nodeType": "YulIdentifier", + "src": "16370:3:21" + }, + "nativeSrc": "16370:20:21", + "nodeType": "YulFunctionCall", + "src": "16370:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16344:6:21", + "nodeType": "YulIdentifier", + "src": "16344:6:21" + }, + "nativeSrc": "16344:47:21", + "nodeType": "YulFunctionCall", + "src": "16344:47:21" + }, + "nativeSrc": "16344:47:21", + "nodeType": "YulExpressionStatement", + "src": "16344:47:21" + }, + { + "nativeSrc": "16400:102:21", + "nodeType": "YulAssignment", + "src": "16400:102:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16480:6:21", + "nodeType": "YulIdentifier", + "src": "16480:6:21" + }, + { + "name": "value1", + "nativeSrc": "16488:6:21", + "nodeType": "YulIdentifier", + "src": "16488:6:21" + }, + { + "name": "tail", + "nativeSrc": "16497:4:21", + "nodeType": "YulIdentifier", + "src": "16497:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "16408:71:21", + "nodeType": "YulIdentifier", + "src": "16408:71:21" + }, + "nativeSrc": "16408:94:21", + "nodeType": "YulFunctionCall", + "src": "16408:94:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16400:4:21", + "nodeType": "YulIdentifier", + "src": "16400:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "16164:345:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16262:9:21", + "nodeType": "YulTypedName", + "src": "16262:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16274:6:21", + "nodeType": "YulTypedName", + "src": "16274:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16282:6:21", + "nodeType": "YulTypedName", + "src": "16282:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16293:4:21", + "nodeType": "YulTypedName", + "src": "16293:4:21", + "type": "" + } + ], + "src": "16164:345:21" + }, + { + "body": { + "nativeSrc": "16609:338:21", + "nodeType": "YulBlock", + "src": "16609:338:21", + "statements": [ + { + "nativeSrc": "16619:74:21", + "nodeType": "YulAssignment", + "src": "16619:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16685:6:21", + "nodeType": "YulIdentifier", + "src": "16685:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "16644:40:21", + "nodeType": "YulIdentifier", + "src": "16644:40:21" + }, + "nativeSrc": "16644:48:21", + "nodeType": "YulFunctionCall", + "src": "16644:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "16628:15:21", + "nodeType": "YulIdentifier", + "src": "16628:15:21" + }, + "nativeSrc": "16628:65:21", + "nodeType": "YulFunctionCall", + "src": "16628:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "16619:5:21", + "nodeType": "YulIdentifier", + "src": "16619:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "16709:5:21", + "nodeType": "YulIdentifier", + "src": "16709:5:21" + }, + { + "name": "length", + "nativeSrc": "16716:6:21", + "nodeType": "YulIdentifier", + "src": "16716:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16702:6:21", + "nodeType": "YulIdentifier", + "src": "16702:6:21" + }, + "nativeSrc": "16702:21:21", + "nodeType": "YulFunctionCall", + "src": "16702:21:21" + }, + "nativeSrc": "16702:21:21", + "nodeType": "YulExpressionStatement", + "src": "16702:21:21" + }, + { + "nativeSrc": "16732:27:21", + "nodeType": "YulVariableDeclaration", + "src": "16732:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "16747:5:21", + "nodeType": "YulIdentifier", + "src": "16747:5:21" + }, + { + "kind": "number", + "nativeSrc": "16754:4:21", + "nodeType": "YulLiteral", + "src": "16754:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16743:3:21", + "nodeType": "YulIdentifier", + "src": "16743:3:21" + }, + "nativeSrc": "16743:16:21", + "nodeType": "YulFunctionCall", + "src": "16743:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "16736:3:21", + "nodeType": "YulTypedName", + "src": "16736:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16797:83:21", + "nodeType": "YulBlock", + "src": "16797:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "16799:77:21", + "nodeType": "YulIdentifier", + "src": "16799:77:21" + }, + "nativeSrc": "16799:79:21", + "nodeType": "YulFunctionCall", + "src": "16799:79:21" + }, + "nativeSrc": "16799:79:21", + "nodeType": "YulExpressionStatement", + "src": "16799:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "16778:3:21", + "nodeType": "YulIdentifier", + "src": "16778:3:21" + }, + { + "name": "length", + "nativeSrc": "16783:6:21", + "nodeType": "YulIdentifier", + "src": "16783:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16774:3:21", + "nodeType": "YulIdentifier", + "src": "16774:3:21" + }, + "nativeSrc": "16774:16:21", + "nodeType": "YulFunctionCall", + "src": "16774:16:21" + }, + { + "name": "end", + "nativeSrc": "16792:3:21", + "nodeType": "YulIdentifier", + "src": "16792:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "16771:2:21", + "nodeType": "YulIdentifier", + "src": "16771:2:21" + }, + "nativeSrc": "16771:25:21", + "nodeType": "YulFunctionCall", + "src": "16771:25:21" + }, + "nativeSrc": "16768:112:21", + "nodeType": "YulIf", + "src": "16768:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "16924:3:21", + "nodeType": "YulIdentifier", + "src": "16924:3:21" + }, + { + "name": "dst", + "nativeSrc": "16929:3:21", + "nodeType": "YulIdentifier", + "src": "16929:3:21" + }, + { + "name": "length", + "nativeSrc": "16934:6:21", + "nodeType": "YulIdentifier", + "src": "16934:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "16889:34:21", + "nodeType": "YulIdentifier", + "src": "16889:34:21" + }, + "nativeSrc": "16889:52:21", + "nodeType": "YulFunctionCall", + "src": "16889:52:21" + }, + "nativeSrc": "16889:52:21", + "nodeType": "YulExpressionStatement", + "src": "16889:52:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "16515:432:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "16582:3:21", + "nodeType": "YulTypedName", + "src": "16582:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "16587:6:21", + "nodeType": "YulTypedName", + "src": "16587:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "16595:3:21", + "nodeType": "YulTypedName", + "src": "16595:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "16603:5:21", + "nodeType": "YulTypedName", + "src": "16603:5:21", + "type": "" + } + ], + "src": "16515:432:21" + }, + { + "body": { + "nativeSrc": "17038:281:21", + "nodeType": "YulBlock", + "src": "17038:281:21", + "statements": [ + { + "body": { + "nativeSrc": "17087:83:21", + "nodeType": "YulBlock", + "src": "17087:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "17089:77:21", + "nodeType": "YulIdentifier", + "src": "17089:77:21" + }, + "nativeSrc": "17089:79:21", + "nodeType": "YulFunctionCall", + "src": "17089:79:21" + }, + "nativeSrc": "17089:79:21", + "nodeType": "YulExpressionStatement", + "src": "17089:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17066:6:21", + "nodeType": "YulIdentifier", + "src": "17066:6:21" + }, + { + "kind": "number", + "nativeSrc": "17074:4:21", + "nodeType": "YulLiteral", + "src": "17074:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17062:3:21", + "nodeType": "YulIdentifier", + "src": "17062:3:21" + }, + "nativeSrc": "17062:17:21", + "nodeType": "YulFunctionCall", + "src": "17062:17:21" + }, + { + "name": "end", + "nativeSrc": "17081:3:21", + "nodeType": "YulIdentifier", + "src": "17081:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17058:3:21", + "nodeType": "YulIdentifier", + "src": "17058:3:21" + }, + "nativeSrc": "17058:27:21", + "nodeType": "YulFunctionCall", + "src": "17058:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "17051:6:21", + "nodeType": "YulIdentifier", + "src": "17051:6:21" + }, + "nativeSrc": "17051:35:21", + "nodeType": "YulFunctionCall", + "src": "17051:35:21" + }, + "nativeSrc": "17048:122:21", + "nodeType": "YulIf", + "src": "17048:122:21" + }, + { + "nativeSrc": "17179:27:21", + "nodeType": "YulVariableDeclaration", + "src": "17179:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17199:6:21", + "nodeType": "YulIdentifier", + "src": "17199:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17193:5:21", + "nodeType": "YulIdentifier", + "src": "17193:5:21" + }, + "nativeSrc": "17193:13:21", + "nodeType": "YulFunctionCall", + "src": "17193:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "17183:6:21", + "nodeType": "YulTypedName", + "src": "17183:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "17215:98:21", + "nodeType": "YulAssignment", + "src": "17215:98:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17286:6:21", + "nodeType": "YulIdentifier", + "src": "17286:6:21" + }, + { + "kind": "number", + "nativeSrc": "17294:4:21", + "nodeType": "YulLiteral", + "src": "17294:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17282:3:21", + "nodeType": "YulIdentifier", + "src": "17282:3:21" + }, + "nativeSrc": "17282:17:21", + "nodeType": "YulFunctionCall", + "src": "17282:17:21" + }, + { + "name": "length", + "nativeSrc": "17301:6:21", + "nodeType": "YulIdentifier", + "src": "17301:6:21" + }, + { + "name": "end", + "nativeSrc": "17309:3:21", + "nodeType": "YulIdentifier", + "src": "17309:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17224:57:21", + "nodeType": "YulIdentifier", + "src": "17224:57:21" + }, + "nativeSrc": "17224:89:21", + "nodeType": "YulFunctionCall", + "src": "17224:89:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "17215:5:21", + "nodeType": "YulIdentifier", + "src": "17215:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "16966:353:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "17016:6:21", + "nodeType": "YulTypedName", + "src": "17016:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "17024:3:21", + "nodeType": "YulTypedName", + "src": "17024:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "17032:5:21", + "nodeType": "YulTypedName", + "src": "17032:5:21", + "type": "" + } + ], + "src": "16966:353:21" + }, + { + "body": { + "nativeSrc": "17411:436:21", + "nodeType": "YulBlock", + "src": "17411:436:21", + "statements": [ + { + "body": { + "nativeSrc": "17457:83:21", + "nodeType": "YulBlock", + "src": "17457:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "17459:77:21", + "nodeType": "YulIdentifier", + "src": "17459:77:21" + }, + "nativeSrc": "17459:79:21", + "nodeType": "YulFunctionCall", + "src": "17459:79:21" + }, + "nativeSrc": "17459:79:21", + "nodeType": "YulExpressionStatement", + "src": "17459:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17432:7:21", + "nodeType": "YulIdentifier", + "src": "17432:7:21" + }, + { + "name": "headStart", + "nativeSrc": "17441:9:21", + "nodeType": "YulIdentifier", + "src": "17441:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17428:3:21", + "nodeType": "YulIdentifier", + "src": "17428:3:21" + }, + "nativeSrc": "17428:23:21", + "nodeType": "YulFunctionCall", + "src": "17428:23:21" + }, + { + "kind": "number", + "nativeSrc": "17453:2:21", + "nodeType": "YulLiteral", + "src": "17453:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17424:3:21", + "nodeType": "YulIdentifier", + "src": "17424:3:21" + }, + "nativeSrc": "17424:32:21", + "nodeType": "YulFunctionCall", + "src": "17424:32:21" + }, + "nativeSrc": "17421:119:21", + "nodeType": "YulIf", + "src": "17421:119:21" + }, + { + "nativeSrc": "17550:290:21", + "nodeType": "YulBlock", + "src": "17550:290:21", + "statements": [ + { + "nativeSrc": "17565:38:21", + "nodeType": "YulVariableDeclaration", + "src": "17565:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17589:9:21", + "nodeType": "YulIdentifier", + "src": "17589:9:21" + }, + { + "kind": "number", + "nativeSrc": "17600:1:21", + "nodeType": "YulLiteral", + "src": "17600:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17585:3:21", + "nodeType": "YulIdentifier", + "src": "17585:3:21" + }, + "nativeSrc": "17585:17:21", + "nodeType": "YulFunctionCall", + "src": "17585:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17579:5:21", + "nodeType": "YulIdentifier", + "src": "17579:5:21" + }, + "nativeSrc": "17579:24:21", + "nodeType": "YulFunctionCall", + "src": "17579:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "17569:6:21", + "nodeType": "YulTypedName", + "src": "17569:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "17650:83:21", + "nodeType": "YulBlock", + "src": "17650:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "17652:77:21", + "nodeType": "YulIdentifier", + "src": "17652:77:21" + }, + "nativeSrc": "17652:79:21", + "nodeType": "YulFunctionCall", + "src": "17652:79:21" + }, + "nativeSrc": "17652:79:21", + "nodeType": "YulExpressionStatement", + "src": "17652:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17622:6:21", + "nodeType": "YulIdentifier", + "src": "17622:6:21" + }, + { + "kind": "number", + "nativeSrc": "17630:18:21", + "nodeType": "YulLiteral", + "src": "17630:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17619:2:21", + "nodeType": "YulIdentifier", + "src": "17619:2:21" + }, + "nativeSrc": "17619:30:21", + "nodeType": "YulFunctionCall", + "src": "17619:30:21" + }, + "nativeSrc": "17616:117:21", + "nodeType": "YulIf", + "src": "17616:117:21" + }, + { + "nativeSrc": "17747:83:21", + "nodeType": "YulAssignment", + "src": "17747:83:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17802:9:21", + "nodeType": "YulIdentifier", + "src": "17802:9:21" + }, + { + "name": "offset", + "nativeSrc": "17813:6:21", + "nodeType": "YulIdentifier", + "src": "17813:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17798:3:21", + "nodeType": "YulIdentifier", + "src": "17798:3:21" + }, + "nativeSrc": "17798:22:21", + "nodeType": "YulFunctionCall", + "src": "17798:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "17822:7:21", + "nodeType": "YulIdentifier", + "src": "17822:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17757:40:21", + "nodeType": "YulIdentifier", + "src": "17757:40:21" + }, + "nativeSrc": "17757:73:21", + "nodeType": "YulFunctionCall", + "src": "17757:73:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "17747:6:21", + "nodeType": "YulIdentifier", + "src": "17747:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17325:522:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17381:9:21", + "nodeType": "YulTypedName", + "src": "17381:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17392:7:21", + "nodeType": "YulTypedName", + "src": "17392:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17404:6:21", + "nodeType": "YulTypedName", + "src": "17404:6:21", + "type": "" + } + ], + "src": "17325:522:21" + }, + { + "body": { + "nativeSrc": "17951:291:21", + "nodeType": "YulBlock", + "src": "17951:291:21", + "statements": [ + { + "nativeSrc": "17961:52:21", + "nodeType": "YulVariableDeclaration", + "src": "17961:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "18007:5:21", + "nodeType": "YulIdentifier", + "src": "18007:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "17975:31:21", + "nodeType": "YulIdentifier", + "src": "17975:31:21" + }, + "nativeSrc": "17975:38:21", + "nodeType": "YulFunctionCall", + "src": "17975:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "17965:6:21", + "nodeType": "YulTypedName", + "src": "17965:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "18022:85:21", + "nodeType": "YulAssignment", + "src": "18022:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18095:3:21", + "nodeType": "YulIdentifier", + "src": "18095:3:21" + }, + { + "name": "length", + "nativeSrc": "18100:6:21", + "nodeType": "YulIdentifier", + "src": "18100:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "18029:65:21", + "nodeType": "YulIdentifier", + "src": "18029:65:21" + }, + "nativeSrc": "18029:78:21", + "nodeType": "YulFunctionCall", + "src": "18029:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18022:3:21", + "nodeType": "YulIdentifier", + "src": "18022:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18155:5:21", + "nodeType": "YulIdentifier", + "src": "18155:5:21" + }, + { + "kind": "number", + "nativeSrc": "18162:4:21", + "nodeType": "YulLiteral", + "src": "18162:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18151:3:21", + "nodeType": "YulIdentifier", + "src": "18151:3:21" + }, + "nativeSrc": "18151:16:21", + "nodeType": "YulFunctionCall", + "src": "18151:16:21" + }, + { + "name": "pos", + "nativeSrc": "18169:3:21", + "nodeType": "YulIdentifier", + "src": "18169:3:21" + }, + { + "name": "length", + "nativeSrc": "18174:6:21", + "nodeType": "YulIdentifier", + "src": "18174:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "18116:34:21", + "nodeType": "YulIdentifier", + "src": "18116:34:21" + }, + "nativeSrc": "18116:65:21", + "nodeType": "YulFunctionCall", + "src": "18116:65:21" + }, + "nativeSrc": "18116:65:21", + "nodeType": "YulExpressionStatement", + "src": "18116:65:21" + }, + { + "nativeSrc": "18190:46:21", + "nodeType": "YulAssignment", + "src": "18190:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18201:3:21", + "nodeType": "YulIdentifier", + "src": "18201:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "18228:6:21", + "nodeType": "YulIdentifier", + "src": "18228:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "18206:21:21", + "nodeType": "YulIdentifier", + "src": "18206:21:21" + }, + "nativeSrc": "18206:29:21", + "nodeType": "YulFunctionCall", + "src": "18206:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18197:3:21", + "nodeType": "YulIdentifier", + "src": "18197:3:21" + }, + "nativeSrc": "18197:39:21", + "nodeType": "YulFunctionCall", + "src": "18197:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18190:3:21", + "nodeType": "YulIdentifier", + "src": "18190:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "17853:389:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "17932:5:21", + "nodeType": "YulTypedName", + "src": "17932:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "17939:3:21", + "nodeType": "YulTypedName", + "src": "17939:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17947:3:21", + "nodeType": "YulTypedName", + "src": "17947:3:21", + "type": "" + } + ], + "src": "17853:389:21" + }, + { + "body": { + "nativeSrc": "18372:201:21", + "nodeType": "YulBlock", + "src": "18372:201:21", + "statements": [ + { + "nativeSrc": "18382:26:21", + "nodeType": "YulAssignment", + "src": "18382:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18394:9:21", + "nodeType": "YulIdentifier", + "src": "18394:9:21" + }, + { + "kind": "number", + "nativeSrc": "18405:2:21", + "nodeType": "YulLiteral", + "src": "18405:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18390:3:21", + "nodeType": "YulIdentifier", + "src": "18390:3:21" + }, + "nativeSrc": "18390:18:21", + "nodeType": "YulFunctionCall", + "src": "18390:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18382:4:21", + "nodeType": "YulIdentifier", + "src": "18382:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18429:9:21", + "nodeType": "YulIdentifier", + "src": "18429:9:21" + }, + { + "kind": "number", + "nativeSrc": "18440:1:21", + "nodeType": "YulLiteral", + "src": "18440:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18425:3:21", + "nodeType": "YulIdentifier", + "src": "18425:3:21" + }, + "nativeSrc": "18425:17:21", + "nodeType": "YulFunctionCall", + "src": "18425:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18448:4:21", + "nodeType": "YulIdentifier", + "src": "18448:4:21" + }, + { + "name": "headStart", + "nativeSrc": "18454:9:21", + "nodeType": "YulIdentifier", + "src": "18454:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18444:3:21", + "nodeType": "YulIdentifier", + "src": "18444:3:21" + }, + "nativeSrc": "18444:20:21", + "nodeType": "YulFunctionCall", + "src": "18444:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18418:6:21", + "nodeType": "YulIdentifier", + "src": "18418:6:21" + }, + "nativeSrc": "18418:47:21", + "nodeType": "YulFunctionCall", + "src": "18418:47:21" + }, + "nativeSrc": "18418:47:21", + "nodeType": "YulExpressionStatement", + "src": "18418:47:21" + }, + { + "nativeSrc": "18474:92:21", + "nodeType": "YulAssignment", + "src": "18474:92:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18552:6:21", + "nodeType": "YulIdentifier", + "src": "18552:6:21" + }, + { + "name": "tail", + "nativeSrc": "18561:4:21", + "nodeType": "YulIdentifier", + "src": "18561:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "18482:69:21", + "nodeType": "YulIdentifier", + "src": "18482:69:21" + }, + "nativeSrc": "18482:84:21", + "nodeType": "YulFunctionCall", + "src": "18482:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18474:4:21", + "nodeType": "YulIdentifier", + "src": "18474:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "18248:325:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18344:9:21", + "nodeType": "YulTypedName", + "src": "18344:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18356:6:21", + "nodeType": "YulTypedName", + "src": "18356:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18367:4:21", + "nodeType": "YulTypedName", + "src": "18367:4:21", + "type": "" + } + ], + "src": "18248:325:21" + }, + { + "body": { + "nativeSrc": "18619:76:21", + "nodeType": "YulBlock", + "src": "18619:76:21", + "statements": [ + { + "body": { + "nativeSrc": "18673:16:21", + "nodeType": "YulBlock", + "src": "18673:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18682:1:21", + "nodeType": "YulLiteral", + "src": "18682:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "18685:1:21", + "nodeType": "YulLiteral", + "src": "18685:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "18675:6:21", + "nodeType": "YulIdentifier", + "src": "18675:6:21" + }, + "nativeSrc": "18675:12:21", + "nodeType": "YulFunctionCall", + "src": "18675:12:21" + }, + "nativeSrc": "18675:12:21", + "nodeType": "YulExpressionStatement", + "src": "18675:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18642:5:21", + "nodeType": "YulIdentifier", + "src": "18642:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18664:5:21", + "nodeType": "YulIdentifier", + "src": "18664:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "18649:14:21", + "nodeType": "YulIdentifier", + "src": "18649:14:21" + }, + "nativeSrc": "18649:21:21", + "nodeType": "YulFunctionCall", + "src": "18649:21:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "18639:2:21", + "nodeType": "YulIdentifier", + "src": "18639:2:21" + }, + "nativeSrc": "18639:32:21", + "nodeType": "YulFunctionCall", + "src": "18639:32:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "18632:6:21", + "nodeType": "YulIdentifier", + "src": "18632:6:21" + }, + "nativeSrc": "18632:40:21", + "nodeType": "YulFunctionCall", + "src": "18632:40:21" + }, + "nativeSrc": "18629:60:21", + "nodeType": "YulIf", + "src": "18629:60:21" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "18579:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "18612:5:21", + "nodeType": "YulTypedName", + "src": "18612:5:21", + "type": "" + } + ], + "src": "18579:116:21" + }, + { + "body": { + "nativeSrc": "18761:77:21", + "nodeType": "YulBlock", + "src": "18761:77:21", + "statements": [ + { + "nativeSrc": "18771:22:21", + "nodeType": "YulAssignment", + "src": "18771:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18786:6:21", + "nodeType": "YulIdentifier", + "src": "18786:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "18780:5:21", + "nodeType": "YulIdentifier", + "src": "18780:5:21" + }, + "nativeSrc": "18780:13:21", + "nodeType": "YulFunctionCall", + "src": "18780:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "18771:5:21", + "nodeType": "YulIdentifier", + "src": "18771:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "18826:5:21", + "nodeType": "YulIdentifier", + "src": "18826:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "18802:23:21", + "nodeType": "YulIdentifier", + "src": "18802:23:21" + }, + "nativeSrc": "18802:30:21", + "nodeType": "YulFunctionCall", + "src": "18802:30:21" + }, + "nativeSrc": "18802:30:21", + "nodeType": "YulExpressionStatement", + "src": "18802:30:21" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "18701:137:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "18739:6:21", + "nodeType": "YulTypedName", + "src": "18739:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "18747:3:21", + "nodeType": "YulTypedName", + "src": "18747:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "18755:5:21", + "nodeType": "YulTypedName", + "src": "18755:5:21", + "type": "" + } + ], + "src": "18701:137:21" + }, + { + "body": { + "nativeSrc": "18918:271:21", + "nodeType": "YulBlock", + "src": "18918:271:21", + "statements": [ + { + "body": { + "nativeSrc": "18964:83:21", + "nodeType": "YulBlock", + "src": "18964:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "18966:77:21", + "nodeType": "YulIdentifier", + "src": "18966:77:21" + }, + "nativeSrc": "18966:79:21", + "nodeType": "YulFunctionCall", + "src": "18966:79:21" + }, + "nativeSrc": "18966:79:21", + "nodeType": "YulExpressionStatement", + "src": "18966:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "18939:7:21", + "nodeType": "YulIdentifier", + "src": "18939:7:21" + }, + { + "name": "headStart", + "nativeSrc": "18948:9:21", + "nodeType": "YulIdentifier", + "src": "18948:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18935:3:21", + "nodeType": "YulIdentifier", + "src": "18935:3:21" + }, + "nativeSrc": "18935:23:21", + "nodeType": "YulFunctionCall", + "src": "18935:23:21" + }, + { + "kind": "number", + "nativeSrc": "18960:2:21", + "nodeType": "YulLiteral", + "src": "18960:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "18931:3:21", + "nodeType": "YulIdentifier", + "src": "18931:3:21" + }, + "nativeSrc": "18931:32:21", + "nodeType": "YulFunctionCall", + "src": "18931:32:21" + }, + "nativeSrc": "18928:119:21", + "nodeType": "YulIf", + "src": "18928:119:21" + }, + { + "nativeSrc": "19057:125:21", + "nodeType": "YulBlock", + "src": "19057:125:21", + "statements": [ + { + "nativeSrc": "19072:15:21", + "nodeType": "YulVariableDeclaration", + "src": "19072:15:21", + "value": { + "kind": "number", + "nativeSrc": "19086:1:21", + "nodeType": "YulLiteral", + "src": "19086:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19076:6:21", + "nodeType": "YulTypedName", + "src": "19076:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "19101:71:21", + "nodeType": "YulAssignment", + "src": "19101:71:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19144:9:21", + "nodeType": "YulIdentifier", + "src": "19144:9:21" + }, + { + "name": "offset", + "nativeSrc": "19155:6:21", + "nodeType": "YulIdentifier", + "src": "19155:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19140:3:21", + "nodeType": "YulIdentifier", + "src": "19140:3:21" + }, + "nativeSrc": "19140:22:21", + "nodeType": "YulFunctionCall", + "src": "19140:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "19164:7:21", + "nodeType": "YulIdentifier", + "src": "19164:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "19111:28:21", + "nodeType": "YulIdentifier", + "src": "19111:28:21" + }, + "nativeSrc": "19111:61:21", + "nodeType": "YulFunctionCall", + "src": "19111:61:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "19101:6:21", + "nodeType": "YulIdentifier", + "src": "19101:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "18844:345:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18888:9:21", + "nodeType": "YulTypedName", + "src": "18888:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "18899:7:21", + "nodeType": "YulTypedName", + "src": "18899:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "18911:6:21", + "nodeType": "YulTypedName", + "src": "18911:6:21", + "type": "" + } + ], + "src": "18844:345:21" + }, + { + "body": { + "nativeSrc": "19291:73:21", + "nodeType": "YulBlock", + "src": "19291:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19308:3:21", + "nodeType": "YulIdentifier", + "src": "19308:3:21" + }, + { + "name": "length", + "nativeSrc": "19313:6:21", + "nodeType": "YulIdentifier", + "src": "19313:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19301:6:21", + "nodeType": "YulIdentifier", + "src": "19301:6:21" + }, + "nativeSrc": "19301:19:21", + "nodeType": "YulFunctionCall", + "src": "19301:19:21" + }, + "nativeSrc": "19301:19:21", + "nodeType": "YulExpressionStatement", + "src": "19301:19:21" + }, + { + "nativeSrc": "19329:29:21", + "nodeType": "YulAssignment", + "src": "19329:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19348:3:21", + "nodeType": "YulIdentifier", + "src": "19348:3:21" + }, + { + "kind": "number", + "nativeSrc": "19353:4:21", + "nodeType": "YulLiteral", + "src": "19353:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19344:3:21", + "nodeType": "YulIdentifier", + "src": "19344:3:21" + }, + "nativeSrc": "19344:14:21", + "nodeType": "YulFunctionCall", + "src": "19344:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "19329:11:21", + "nodeType": "YulIdentifier", + "src": "19329:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19195:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19263:3:21", + "nodeType": "YulTypedName", + "src": "19263:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "19268:6:21", + "nodeType": "YulTypedName", + "src": "19268:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "19279:11:21", + "nodeType": "YulTypedName", + "src": "19279:11:21", + "type": "" + } + ], + "src": "19195:169:21" + }, + { + "body": { + "nativeSrc": "19476:65:21", + "nodeType": "YulBlock", + "src": "19476:65:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19498:6:21", + "nodeType": "YulIdentifier", + "src": "19498:6:21" + }, + { + "kind": "number", + "nativeSrc": "19506:1:21", + "nodeType": "YulLiteral", + "src": "19506:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19494:3:21", + "nodeType": "YulIdentifier", + "src": "19494:3:21" + }, + "nativeSrc": "19494:14:21", + "nodeType": "YulFunctionCall", + "src": "19494:14:21" + }, + { + "hexValue": "4c6162656c206973206e6f742061206e756d626572", + "kind": "string", + "nativeSrc": "19510:23:21", + "nodeType": "YulLiteral", + "src": "19510:23:21", + "type": "", + "value": "Label is not a number" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19487:6:21", + "nodeType": "YulIdentifier", + "src": "19487:6:21" + }, + "nativeSrc": "19487:47:21", + "nodeType": "YulFunctionCall", + "src": "19487:47:21" + }, + "nativeSrc": "19487:47:21", + "nodeType": "YulExpressionStatement", + "src": "19487:47:21" + } + ] + }, + "name": "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "nativeSrc": "19370:171:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19468:6:21", + "nodeType": "YulTypedName", + "src": "19468:6:21", + "type": "" + } + ], + "src": "19370:171:21" + }, + { + "body": { + "nativeSrc": "19693:220:21", + "nodeType": "YulBlock", + "src": "19693:220:21", + "statements": [ + { + "nativeSrc": "19703:74:21", + "nodeType": "YulAssignment", + "src": "19703:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19769:3:21", + "nodeType": "YulIdentifier", + "src": "19769:3:21" + }, + { + "kind": "number", + "nativeSrc": "19774:2:21", + "nodeType": "YulLiteral", + "src": "19774:2:21", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19710:58:21", + "nodeType": "YulIdentifier", + "src": "19710:58:21" + }, + "nativeSrc": "19710:67:21", + "nodeType": "YulFunctionCall", + "src": "19710:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19703:3:21", + "nodeType": "YulIdentifier", + "src": "19703:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19875:3:21", + "nodeType": "YulIdentifier", + "src": "19875:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "nativeSrc": "19786:88:21", + "nodeType": "YulIdentifier", + "src": "19786:88:21" + }, + "nativeSrc": "19786:93:21", + "nodeType": "YulFunctionCall", + "src": "19786:93:21" + }, + "nativeSrc": "19786:93:21", + "nodeType": "YulExpressionStatement", + "src": "19786:93:21" + }, + { + "nativeSrc": "19888:19:21", + "nodeType": "YulAssignment", + "src": "19888:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19899:3:21", + "nodeType": "YulIdentifier", + "src": "19899:3:21" + }, + { + "kind": "number", + "nativeSrc": "19904:2:21", + "nodeType": "YulLiteral", + "src": "19904:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19895:3:21", + "nodeType": "YulIdentifier", + "src": "19895:3:21" + }, + "nativeSrc": "19895:12:21", + "nodeType": "YulFunctionCall", + "src": "19895:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19888:3:21", + "nodeType": "YulIdentifier", + "src": "19888:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19547:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19681:3:21", + "nodeType": "YulTypedName", + "src": "19681:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19689:3:21", + "nodeType": "YulTypedName", + "src": "19689:3:21", + "type": "" + } + ], + "src": "19547:366:21" + }, + { + "body": { + "nativeSrc": "20090:248:21", + "nodeType": "YulBlock", + "src": "20090:248:21", + "statements": [ + { + "nativeSrc": "20100:26:21", + "nodeType": "YulAssignment", + "src": "20100:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20112:9:21", + "nodeType": "YulIdentifier", + "src": "20112:9:21" + }, + { + "kind": "number", + "nativeSrc": "20123:2:21", + "nodeType": "YulLiteral", + "src": "20123:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20108:3:21", + "nodeType": "YulIdentifier", + "src": "20108:3:21" + }, + "nativeSrc": "20108:18:21", + "nodeType": "YulFunctionCall", + "src": "20108:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20100:4:21", + "nodeType": "YulIdentifier", + "src": "20100:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20147:9:21", + "nodeType": "YulIdentifier", + "src": "20147:9:21" + }, + { + "kind": "number", + "nativeSrc": "20158:1:21", + "nodeType": "YulLiteral", + "src": "20158:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20143:3:21", + "nodeType": "YulIdentifier", + "src": "20143:3:21" + }, + "nativeSrc": "20143:17:21", + "nodeType": "YulFunctionCall", + "src": "20143:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20166:4:21", + "nodeType": "YulIdentifier", + "src": "20166:4:21" + }, + { + "name": "headStart", + "nativeSrc": "20172:9:21", + "nodeType": "YulIdentifier", + "src": "20172:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20162:3:21", + "nodeType": "YulIdentifier", + "src": "20162:3:21" + }, + "nativeSrc": "20162:20:21", + "nodeType": "YulFunctionCall", + "src": "20162:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20136:6:21", + "nodeType": "YulIdentifier", + "src": "20136:6:21" + }, + "nativeSrc": "20136:47:21", + "nodeType": "YulFunctionCall", + "src": "20136:47:21" + }, + "nativeSrc": "20136:47:21", + "nodeType": "YulExpressionStatement", + "src": "20136:47:21" + }, + { + "nativeSrc": "20192:139:21", + "nodeType": "YulAssignment", + "src": "20192:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20326:4:21", + "nodeType": "YulIdentifier", + "src": "20326:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20200:124:21", + "nodeType": "YulIdentifier", + "src": "20200:124:21" + }, + "nativeSrc": "20200:131:21", + "nodeType": "YulFunctionCall", + "src": "20200:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20192:4:21", + "nodeType": "YulIdentifier", + "src": "20192:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19919:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20070:9:21", + "nodeType": "YulTypedName", + "src": "20070:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20085:4:21", + "nodeType": "YulTypedName", + "src": "20085:4:21", + "type": "" + } + ], + "src": "19919:419:21" + }, + { + "body": { + "nativeSrc": "20407:80:21", + "nodeType": "YulBlock", + "src": "20407:80:21", + "statements": [ + { + "nativeSrc": "20417:22:21", + "nodeType": "YulAssignment", + "src": "20417:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "20432:6:21", + "nodeType": "YulIdentifier", + "src": "20432:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "20426:5:21", + "nodeType": "YulIdentifier", + "src": "20426:5:21" + }, + "nativeSrc": "20426:13:21", + "nodeType": "YulFunctionCall", + "src": "20426:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "20417:5:21", + "nodeType": "YulIdentifier", + "src": "20417:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20475:5:21", + "nodeType": "YulIdentifier", + "src": "20475:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "20448:26:21", + "nodeType": "YulIdentifier", + "src": "20448:26:21" + }, + "nativeSrc": "20448:33:21", + "nodeType": "YulFunctionCall", + "src": "20448:33:21" + }, + "nativeSrc": "20448:33:21", + "nodeType": "YulExpressionStatement", + "src": "20448:33:21" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "20344:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "20385:6:21", + "nodeType": "YulTypedName", + "src": "20385:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "20393:3:21", + "nodeType": "YulTypedName", + "src": "20393:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "20401:5:21", + "nodeType": "YulTypedName", + "src": "20401:5:21", + "type": "" + } + ], + "src": "20344:143:21" + }, + { + "body": { + "nativeSrc": "20570:274:21", + "nodeType": "YulBlock", + "src": "20570:274:21", + "statements": [ + { + "body": { + "nativeSrc": "20616:83:21", + "nodeType": "YulBlock", + "src": "20616:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "20618:77:21", + "nodeType": "YulIdentifier", + "src": "20618:77:21" + }, + "nativeSrc": "20618:79:21", + "nodeType": "YulFunctionCall", + "src": "20618:79:21" + }, + "nativeSrc": "20618:79:21", + "nodeType": "YulExpressionStatement", + "src": "20618:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "20591:7:21", + "nodeType": "YulIdentifier", + "src": "20591:7:21" + }, + { + "name": "headStart", + "nativeSrc": "20600:9:21", + "nodeType": "YulIdentifier", + "src": "20600:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20587:3:21", + "nodeType": "YulIdentifier", + "src": "20587:3:21" + }, + "nativeSrc": "20587:23:21", + "nodeType": "YulFunctionCall", + "src": "20587:23:21" + }, + { + "kind": "number", + "nativeSrc": "20612:2:21", + "nodeType": "YulLiteral", + "src": "20612:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "20583:3:21", + "nodeType": "YulIdentifier", + "src": "20583:3:21" + }, + "nativeSrc": "20583:32:21", + "nodeType": "YulFunctionCall", + "src": "20583:32:21" + }, + "nativeSrc": "20580:119:21", + "nodeType": "YulIf", + "src": "20580:119:21" + }, + { + "nativeSrc": "20709:128:21", + "nodeType": "YulBlock", + "src": "20709:128:21", + "statements": [ + { + "nativeSrc": "20724:15:21", + "nodeType": "YulVariableDeclaration", + "src": "20724:15:21", + "value": { + "kind": "number", + "nativeSrc": "20738:1:21", + "nodeType": "YulLiteral", + "src": "20738:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20728:6:21", + "nodeType": "YulTypedName", + "src": "20728:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "20753:74:21", + "nodeType": "YulAssignment", + "src": "20753:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20799:9:21", + "nodeType": "YulIdentifier", + "src": "20799:9:21" + }, + { + "name": "offset", + "nativeSrc": "20810:6:21", + "nodeType": "YulIdentifier", + "src": "20810:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20795:3:21", + "nodeType": "YulIdentifier", + "src": "20795:3:21" + }, + "nativeSrc": "20795:22:21", + "nodeType": "YulFunctionCall", + "src": "20795:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "20819:7:21", + "nodeType": "YulIdentifier", + "src": "20819:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "20763:31:21", + "nodeType": "YulIdentifier", + "src": "20763:31:21" + }, + "nativeSrc": "20763:64:21", + "nodeType": "YulFunctionCall", + "src": "20763:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "20753:6:21", + "nodeType": "YulIdentifier", + "src": "20753:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "20493:351:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20540:9:21", + "nodeType": "YulTypedName", + "src": "20540:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "20551:7:21", + "nodeType": "YulTypedName", + "src": "20551:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "20563:6:21", + "nodeType": "YulTypedName", + "src": "20563:6:21", + "type": "" + } + ], + "src": "20493:351:21" + }, + { + "body": { + "nativeSrc": "20915:51:21", + "nodeType": "YulBlock", + "src": "20915:51:21", + "statements": [ + { + "nativeSrc": "20925:35:21", + "nodeType": "YulAssignment", + "src": "20925:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20954:5:21", + "nodeType": "YulIdentifier", + "src": "20954:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "20936:17:21", + "nodeType": "YulIdentifier", + "src": "20936:17:21" + }, + "nativeSrc": "20936:24:21", + "nodeType": "YulFunctionCall", + "src": "20936:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "20925:7:21", + "nodeType": "YulIdentifier", + "src": "20925:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "20850:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "20897:5:21", + "nodeType": "YulTypedName", + "src": "20897:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "20907:7:21", + "nodeType": "YulTypedName", + "src": "20907:7:21", + "type": "" + } + ], + "src": "20850:116:21" + }, + { + "body": { + "nativeSrc": "21035:99:21", + "nodeType": "YulBlock", + "src": "21035:99:21", + "statements": [ + { + "body": { + "nativeSrc": "21112:16:21", + "nodeType": "YulBlock", + "src": "21112:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21121:1:21", + "nodeType": "YulLiteral", + "src": "21121:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21124:1:21", + "nodeType": "YulLiteral", + "src": "21124:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21114:6:21", + "nodeType": "YulIdentifier", + "src": "21114:6:21" + }, + "nativeSrc": "21114:12:21", + "nodeType": "YulFunctionCall", + "src": "21114:12:21" + }, + "nativeSrc": "21114:12:21", + "nodeType": "YulExpressionStatement", + "src": "21114:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21058:5:21", + "nodeType": "YulIdentifier", + "src": "21058:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21103:5:21", + "nodeType": "YulIdentifier", + "src": "21103:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21065:37:21", + "nodeType": "YulIdentifier", + "src": "21065:37:21" + }, + "nativeSrc": "21065:44:21", + "nodeType": "YulFunctionCall", + "src": "21065:44:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21055:2:21", + "nodeType": "YulIdentifier", + "src": "21055:2:21" + }, + "nativeSrc": "21055:55:21", + "nodeType": "YulFunctionCall", + "src": "21055:55:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "21048:6:21", + "nodeType": "YulIdentifier", + "src": "21048:6:21" + }, + "nativeSrc": "21048:63:21", + "nodeType": "YulFunctionCall", + "src": "21048:63:21" + }, + "nativeSrc": "21045:83:21", + "nodeType": "YulIf", + "src": "21045:83:21" + } + ] + }, + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "20972:162:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21028:5:21", + "nodeType": "YulTypedName", + "src": "21028:5:21", + "type": "" + } + ], + "src": "20972:162:21" + }, + { + "body": { + "nativeSrc": "21212:107:21", + "nodeType": "YulBlock", + "src": "21212:107:21", + "statements": [ + { + "nativeSrc": "21222:29:21", + "nodeType": "YulAssignment", + "src": "21222:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21244:6:21", + "nodeType": "YulIdentifier", + "src": "21244:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "21231:12:21", + "nodeType": "YulIdentifier", + "src": "21231:12:21" + }, + "nativeSrc": "21231:20:21", + "nodeType": "YulFunctionCall", + "src": "21231:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21222:5:21", + "nodeType": "YulIdentifier", + "src": "21222:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21307:5:21", + "nodeType": "YulIdentifier", + "src": "21307:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21260:46:21", + "nodeType": "YulIdentifier", + "src": "21260:46:21" + }, + "nativeSrc": "21260:53:21", + "nodeType": "YulFunctionCall", + "src": "21260:53:21" + }, + "nativeSrc": "21260:53:21", + "nodeType": "YulExpressionStatement", + "src": "21260:53:21" + } + ] + }, + "name": "abi_decode_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21140:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21190:6:21", + "nodeType": "YulTypedName", + "src": "21190:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21198:3:21", + "nodeType": "YulTypedName", + "src": "21198:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21206:5:21", + "nodeType": "YulTypedName", + "src": "21206:5:21", + "type": "" + } + ], + "src": "21140:179:21" + }, + { + "body": { + "nativeSrc": "21378:51:21", + "nodeType": "YulBlock", + "src": "21378:51:21", + "statements": [ + { + "nativeSrc": "21388:35:21", + "nodeType": "YulAssignment", + "src": "21388:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21417:5:21", + "nodeType": "YulIdentifier", + "src": "21417:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "21399:17:21", + "nodeType": "YulIdentifier", + "src": "21399:17:21" + }, + "nativeSrc": "21399:24:21", + "nodeType": "YulFunctionCall", + "src": "21399:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "21388:7:21", + "nodeType": "YulIdentifier", + "src": "21388:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address_payable", + "nativeSrc": "21325:104:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21360:5:21", + "nodeType": "YulTypedName", + "src": "21360:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "21370:7:21", + "nodeType": "YulTypedName", + "src": "21370:7:21", + "type": "" + } + ], + "src": "21325:104:21" + }, + { + "body": { + "nativeSrc": "21486:87:21", + "nodeType": "YulBlock", + "src": "21486:87:21", + "statements": [ + { + "body": { + "nativeSrc": "21551:16:21", + "nodeType": "YulBlock", + "src": "21551:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21560:1:21", + "nodeType": "YulLiteral", + "src": "21560:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21563:1:21", + "nodeType": "YulLiteral", + "src": "21563:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21553:6:21", + "nodeType": "YulIdentifier", + "src": "21553:6:21" + }, + "nativeSrc": "21553:12:21", + "nodeType": "YulFunctionCall", + "src": "21553:12:21" + }, + "nativeSrc": "21553:12:21", + "nodeType": "YulExpressionStatement", + "src": "21553:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21509:5:21", + "nodeType": "YulIdentifier", + "src": "21509:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21542:5:21", + "nodeType": "YulIdentifier", + "src": "21542:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address_payable", + "nativeSrc": "21516:25:21", + "nodeType": "YulIdentifier", + "src": "21516:25:21" + }, + "nativeSrc": "21516:32:21", + "nodeType": "YulFunctionCall", + "src": "21516:32:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21506:2:21", + "nodeType": "YulIdentifier", + "src": "21506:2:21" + }, + "nativeSrc": "21506:43:21", + "nodeType": "YulFunctionCall", + "src": "21506:43:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "21499:6:21", + "nodeType": "YulIdentifier", + "src": "21499:6:21" + }, + "nativeSrc": "21499:51:21", + "nodeType": "YulFunctionCall", + "src": "21499:51:21" + }, + "nativeSrc": "21496:71:21", + "nodeType": "YulIf", + "src": "21496:71:21" + } + ] + }, + "name": "validator_revert_t_address_payable", + "nativeSrc": "21435:138:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21479:5:21", + "nodeType": "YulTypedName", + "src": "21479:5:21", + "type": "" + } + ], + "src": "21435:138:21" + }, + { + "body": { + "nativeSrc": "21639:95:21", + "nodeType": "YulBlock", + "src": "21639:95:21", + "statements": [ + { + "nativeSrc": "21649:29:21", + "nodeType": "YulAssignment", + "src": "21649:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21671:6:21", + "nodeType": "YulIdentifier", + "src": "21671:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "21658:12:21", + "nodeType": "YulIdentifier", + "src": "21658:12:21" + }, + "nativeSrc": "21658:20:21", + "nodeType": "YulFunctionCall", + "src": "21658:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21649:5:21", + "nodeType": "YulIdentifier", + "src": "21649:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21722:5:21", + "nodeType": "YulIdentifier", + "src": "21722:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address_payable", + "nativeSrc": "21687:34:21", + "nodeType": "YulIdentifier", + "src": "21687:34:21" + }, + "nativeSrc": "21687:41:21", + "nodeType": "YulFunctionCall", + "src": "21687:41:21" + }, + "nativeSrc": "21687:41:21", + "nodeType": "YulExpressionStatement", + "src": "21687:41:21" + } + ] + }, + "name": "abi_decode_t_address_payable", + "nativeSrc": "21579:155:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21617:6:21", + "nodeType": "YulTypedName", + "src": "21617:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21625:3:21", + "nodeType": "YulTypedName", + "src": "21625:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21633:5:21", + "nodeType": "YulTypedName", + "src": "21633:5:21", + "type": "" + } + ], + "src": "21579:155:21" + }, + { + "body": { + "nativeSrc": "21822:229:21", + "nodeType": "YulBlock", + "src": "21822:229:21", + "statements": [ + { + "body": { + "nativeSrc": "21927:22:21", + "nodeType": "YulBlock", + "src": "21927:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "21929:16:21", + "nodeType": "YulIdentifier", + "src": "21929:16:21" + }, + "nativeSrc": "21929:18:21", + "nodeType": "YulFunctionCall", + "src": "21929:18:21" + }, + "nativeSrc": "21929:18:21", + "nodeType": "YulExpressionStatement", + "src": "21929:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "21899:6:21", + "nodeType": "YulIdentifier", + "src": "21899:6:21" + }, + { + "kind": "number", + "nativeSrc": "21907:18:21", + "nodeType": "YulLiteral", + "src": "21907:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "21896:2:21", + "nodeType": "YulIdentifier", + "src": "21896:2:21" + }, + "nativeSrc": "21896:30:21", + "nodeType": "YulFunctionCall", + "src": "21896:30:21" + }, + "nativeSrc": "21893:56:21", + "nodeType": "YulIf", + "src": "21893:56:21" + }, + { + "nativeSrc": "21959:25:21", + "nodeType": "YulAssignment", + "src": "21959:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "21971:6:21", + "nodeType": "YulIdentifier", + "src": "21971:6:21" + }, + { + "kind": "number", + "nativeSrc": "21979:4:21", + "nodeType": "YulLiteral", + "src": "21979:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "21967:3:21", + "nodeType": "YulIdentifier", + "src": "21967:3:21" + }, + "nativeSrc": "21967:17:21", + "nodeType": "YulFunctionCall", + "src": "21967:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "21959:4:21", + "nodeType": "YulIdentifier", + "src": "21959:4:21" + } + ] + }, + { + "nativeSrc": "22021:23:21", + "nodeType": "YulAssignment", + "src": "22021:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "22033:4:21", + "nodeType": "YulIdentifier", + "src": "22033:4:21" + }, + { + "kind": "number", + "nativeSrc": "22039:4:21", + "nodeType": "YulLiteral", + "src": "22039:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22029:3:21", + "nodeType": "YulIdentifier", + "src": "22029:3:21" + }, + "nativeSrc": "22029:15:21", + "nodeType": "YulFunctionCall", + "src": "22029:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "22021:4:21", + "nodeType": "YulIdentifier", + "src": "22021:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "21740:311:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "21806:6:21", + "nodeType": "YulTypedName", + "src": "21806:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "21817:4:21", + "nodeType": "YulTypedName", + "src": "21817:4:21", + "type": "" + } + ], + "src": "21740:311:21" + }, + { + "body": { + "nativeSrc": "22100:79:21", + "nodeType": "YulBlock", + "src": "22100:79:21", + "statements": [ + { + "body": { + "nativeSrc": "22157:16:21", + "nodeType": "YulBlock", + "src": "22157:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22166:1:21", + "nodeType": "YulLiteral", + "src": "22166:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22169:1:21", + "nodeType": "YulLiteral", + "src": "22169:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22159:6:21", + "nodeType": "YulIdentifier", + "src": "22159:6:21" + }, + "nativeSrc": "22159:12:21", + "nodeType": "YulFunctionCall", + "src": "22159:12:21" + }, + "nativeSrc": "22159:12:21", + "nodeType": "YulExpressionStatement", + "src": "22159:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22123:5:21", + "nodeType": "YulIdentifier", + "src": "22123:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22148:5:21", + "nodeType": "YulIdentifier", + "src": "22148:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "22130:17:21", + "nodeType": "YulIdentifier", + "src": "22130:17:21" + }, + "nativeSrc": "22130:24:21", + "nodeType": "YulFunctionCall", + "src": "22130:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "22120:2:21", + "nodeType": "YulIdentifier", + "src": "22120:2:21" + }, + "nativeSrc": "22120:35:21", + "nodeType": "YulFunctionCall", + "src": "22120:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "22113:6:21", + "nodeType": "YulIdentifier", + "src": "22113:6:21" + }, + "nativeSrc": "22113:43:21", + "nodeType": "YulFunctionCall", + "src": "22113:43:21" + }, + "nativeSrc": "22110:63:21", + "nodeType": "YulIf", + "src": "22110:63:21" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "22057:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "22093:5:21", + "nodeType": "YulTypedName", + "src": "22093:5:21", + "type": "" + } + ], + "src": "22057:122:21" + }, + { + "body": { + "nativeSrc": "22237:87:21", + "nodeType": "YulBlock", + "src": "22237:87:21", + "statements": [ + { + "nativeSrc": "22247:29:21", + "nodeType": "YulAssignment", + "src": "22247:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22269:6:21", + "nodeType": "YulIdentifier", + "src": "22269:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "22256:12:21", + "nodeType": "YulIdentifier", + "src": "22256:12:21" + }, + "nativeSrc": "22256:20:21", + "nodeType": "YulFunctionCall", + "src": "22256:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "22247:5:21", + "nodeType": "YulIdentifier", + "src": "22247:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22312:5:21", + "nodeType": "YulIdentifier", + "src": "22312:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "22285:26:21", + "nodeType": "YulIdentifier", + "src": "22285:26:21" + }, + "nativeSrc": "22285:33:21", + "nodeType": "YulFunctionCall", + "src": "22285:33:21" + }, + "nativeSrc": "22285:33:21", + "nodeType": "YulExpressionStatement", + "src": "22285:33:21" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "22185:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22215:6:21", + "nodeType": "YulTypedName", + "src": "22215:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22223:3:21", + "nodeType": "YulTypedName", + "src": "22223:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "22231:5:21", + "nodeType": "YulTypedName", + "src": "22231:5:21", + "type": "" + } + ], + "src": "22185:139:21" + }, + { + "body": { + "nativeSrc": "22449:608:21", + "nodeType": "YulBlock", + "src": "22449:608:21", + "statements": [ + { + "nativeSrc": "22459:90:21", + "nodeType": "YulAssignment", + "src": "22459:90:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22541:6:21", + "nodeType": "YulIdentifier", + "src": "22541:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "22484:56:21", + "nodeType": "YulIdentifier", + "src": "22484:56:21" + }, + "nativeSrc": "22484:64:21", + "nodeType": "YulFunctionCall", + "src": "22484:64:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "22468:15:21", + "nodeType": "YulIdentifier", + "src": "22468:15:21" + }, + "nativeSrc": "22468:81:21", + "nodeType": "YulFunctionCall", + "src": "22468:81:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "22459:5:21", + "nodeType": "YulIdentifier", + "src": "22459:5:21" + } + ] + }, + { + "nativeSrc": "22558:16:21", + "nodeType": "YulVariableDeclaration", + "src": "22558:16:21", + "value": { + "name": "array", + "nativeSrc": "22569:5:21", + "nodeType": "YulIdentifier", + "src": "22569:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "22562:3:21", + "nodeType": "YulTypedName", + "src": "22562:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22591:5:21", + "nodeType": "YulIdentifier", + "src": "22591:5:21" + }, + { + "name": "length", + "nativeSrc": "22598:6:21", + "nodeType": "YulIdentifier", + "src": "22598:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22584:6:21", + "nodeType": "YulIdentifier", + "src": "22584:6:21" + }, + "nativeSrc": "22584:21:21", + "nodeType": "YulFunctionCall", + "src": "22584:21:21" + }, + "nativeSrc": "22584:21:21", + "nodeType": "YulExpressionStatement", + "src": "22584:21:21" + }, + { + "nativeSrc": "22614:23:21", + "nodeType": "YulAssignment", + "src": "22614:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22625:5:21", + "nodeType": "YulIdentifier", + "src": "22625:5:21" + }, + { + "kind": "number", + "nativeSrc": "22632:4:21", + "nodeType": "YulLiteral", + "src": "22632:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22621:3:21", + "nodeType": "YulIdentifier", + "src": "22621:3:21" + }, + "nativeSrc": "22621:16:21", + "nodeType": "YulFunctionCall", + "src": "22621:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "22614:3:21", + "nodeType": "YulIdentifier", + "src": "22614:3:21" + } + ] + }, + { + "nativeSrc": "22647:44:21", + "nodeType": "YulVariableDeclaration", + "src": "22647:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22665:6:21", + "nodeType": "YulIdentifier", + "src": "22665:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22677:6:21", + "nodeType": "YulIdentifier", + "src": "22677:6:21" + }, + { + "kind": "number", + "nativeSrc": "22685:4:21", + "nodeType": "YulLiteral", + "src": "22685:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "22673:3:21", + "nodeType": "YulIdentifier", + "src": "22673:3:21" + }, + "nativeSrc": "22673:17:21", + "nodeType": "YulFunctionCall", + "src": "22673:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22661:3:21", + "nodeType": "YulIdentifier", + "src": "22661:3:21" + }, + "nativeSrc": "22661:30:21", + "nodeType": "YulFunctionCall", + "src": "22661:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "22651:6:21", + "nodeType": "YulTypedName", + "src": "22651:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22719:103:21", + "nodeType": "YulBlock", + "src": "22719:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "22733:77:21", + "nodeType": "YulIdentifier", + "src": "22733:77:21" + }, + "nativeSrc": "22733:79:21", + "nodeType": "YulFunctionCall", + "src": "22733:79:21" + }, + "nativeSrc": "22733:79:21", + "nodeType": "YulExpressionStatement", + "src": "22733:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "22706:6:21", + "nodeType": "YulIdentifier", + "src": "22706:6:21" + }, + { + "name": "end", + "nativeSrc": "22714:3:21", + "nodeType": "YulIdentifier", + "src": "22714:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22703:2:21", + "nodeType": "YulIdentifier", + "src": "22703:2:21" + }, + "nativeSrc": "22703:15:21", + "nodeType": "YulFunctionCall", + "src": "22703:15:21" + }, + "nativeSrc": "22700:122:21", + "nodeType": "YulIf", + "src": "22700:122:21" + }, + { + "body": { + "nativeSrc": "22907:144:21", + "nodeType": "YulBlock", + "src": "22907:144:21", + "statements": [ + { + "nativeSrc": "22922:21:21", + "nodeType": "YulVariableDeclaration", + "src": "22922:21:21", + "value": { + "name": "src", + "nativeSrc": "22940:3:21", + "nodeType": "YulIdentifier", + "src": "22940:3:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "22926:10:21", + "nodeType": "YulTypedName", + "src": "22926:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "22964:3:21", + "nodeType": "YulIdentifier", + "src": "22964:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "22990:10:21", + "nodeType": "YulIdentifier", + "src": "22990:10:21" + }, + { + "name": "end", + "nativeSrc": "23002:3:21", + "nodeType": "YulIdentifier", + "src": "23002:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "22969:20:21", + "nodeType": "YulIdentifier", + "src": "22969:20:21" + }, + "nativeSrc": "22969:37:21", + "nodeType": "YulFunctionCall", + "src": "22969:37:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22957:6:21", + "nodeType": "YulIdentifier", + "src": "22957:6:21" + }, + "nativeSrc": "22957:50:21", + "nodeType": "YulFunctionCall", + "src": "22957:50:21" + }, + "nativeSrc": "22957:50:21", + "nodeType": "YulExpressionStatement", + "src": "22957:50:21" + }, + { + "nativeSrc": "23020:21:21", + "nodeType": "YulAssignment", + "src": "23020:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "23031:3:21", + "nodeType": "YulIdentifier", + "src": "23031:3:21" + }, + { + "kind": "number", + "nativeSrc": "23036:4:21", + "nodeType": "YulLiteral", + "src": "23036:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23027:3:21", + "nodeType": "YulIdentifier", + "src": "23027:3:21" + }, + "nativeSrc": "23027:14:21", + "nodeType": "YulFunctionCall", + "src": "23027:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "23020:3:21", + "nodeType": "YulIdentifier", + "src": "23020:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22860:3:21", + "nodeType": "YulIdentifier", + "src": "22860:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "22865:6:21", + "nodeType": "YulIdentifier", + "src": "22865:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "22857:2:21", + "nodeType": "YulIdentifier", + "src": "22857:2:21" + }, + "nativeSrc": "22857:15:21", + "nodeType": "YulFunctionCall", + "src": "22857:15:21" + }, + "nativeSrc": "22831:220:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "22873:25:21", + "nodeType": "YulBlock", + "src": "22873:25:21", + "statements": [ + { + "nativeSrc": "22875:21:21", + "nodeType": "YulAssignment", + "src": "22875:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22886:3:21", + "nodeType": "YulIdentifier", + "src": "22886:3:21" + }, + { + "kind": "number", + "nativeSrc": "22891:4:21", + "nodeType": "YulLiteral", + "src": "22891:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22882:3:21", + "nodeType": "YulIdentifier", + "src": "22882:3:21" + }, + "nativeSrc": "22882:14:21", + "nodeType": "YulFunctionCall", + "src": "22882:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "22875:3:21", + "nodeType": "YulIdentifier", + "src": "22875:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "22835:21:21", + "nodeType": "YulBlock", + "src": "22835:21:21", + "statements": [ + { + "nativeSrc": "22837:17:21", + "nodeType": "YulVariableDeclaration", + "src": "22837:17:21", + "value": { + "name": "offset", + "nativeSrc": "22848:6:21", + "nodeType": "YulIdentifier", + "src": "22848:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "22841:3:21", + "nodeType": "YulTypedName", + "src": "22841:3:21", + "type": "" + } + ] + } + ] + }, + "src": "22831:220:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "22347:710:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22419:6:21", + "nodeType": "YulTypedName", + "src": "22419:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "22427:6:21", + "nodeType": "YulTypedName", + "src": "22427:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22435:3:21", + "nodeType": "YulTypedName", + "src": "22435:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22443:5:21", + "nodeType": "YulTypedName", + "src": "22443:5:21", + "type": "" + } + ], + "src": "22347:710:21" + }, + { + "body": { + "nativeSrc": "23157:293:21", + "nodeType": "YulBlock", + "src": "23157:293:21", + "statements": [ + { + "body": { + "nativeSrc": "23206:83:21", + "nodeType": "YulBlock", + "src": "23206:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "23208:77:21", + "nodeType": "YulIdentifier", + "src": "23208:77:21" + }, + "nativeSrc": "23208:79:21", + "nodeType": "YulFunctionCall", + "src": "23208:79:21" + }, + "nativeSrc": "23208:79:21", + "nodeType": "YulExpressionStatement", + "src": "23208:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23185:6:21", + "nodeType": "YulIdentifier", + "src": "23185:6:21" + }, + { + "kind": "number", + "nativeSrc": "23193:4:21", + "nodeType": "YulLiteral", + "src": "23193:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23181:3:21", + "nodeType": "YulIdentifier", + "src": "23181:3:21" + }, + "nativeSrc": "23181:17:21", + "nodeType": "YulFunctionCall", + "src": "23181:17:21" + }, + { + "name": "end", + "nativeSrc": "23200:3:21", + "nodeType": "YulIdentifier", + "src": "23200:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23177:3:21", + "nodeType": "YulIdentifier", + "src": "23177:3:21" + }, + "nativeSrc": "23177:27:21", + "nodeType": "YulFunctionCall", + "src": "23177:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "23170:6:21", + "nodeType": "YulIdentifier", + "src": "23170:6:21" + }, + "nativeSrc": "23170:35:21", + "nodeType": "YulFunctionCall", + "src": "23170:35:21" + }, + "nativeSrc": "23167:122:21", + "nodeType": "YulIf", + "src": "23167:122:21" + }, + { + "nativeSrc": "23298:34:21", + "nodeType": "YulVariableDeclaration", + "src": "23298:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23325:6:21", + "nodeType": "YulIdentifier", + "src": "23325:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "23312:12:21", + "nodeType": "YulIdentifier", + "src": "23312:12:21" + }, + "nativeSrc": "23312:20:21", + "nodeType": "YulFunctionCall", + "src": "23312:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "23302:6:21", + "nodeType": "YulTypedName", + "src": "23302:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "23341:103:21", + "nodeType": "YulAssignment", + "src": "23341:103:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23417:6:21", + "nodeType": "YulIdentifier", + "src": "23417:6:21" + }, + { + "kind": "number", + "nativeSrc": "23425:4:21", + "nodeType": "YulLiteral", + "src": "23425:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23413:3:21", + "nodeType": "YulIdentifier", + "src": "23413:3:21" + }, + "nativeSrc": "23413:17:21", + "nodeType": "YulFunctionCall", + "src": "23413:17:21" + }, + { + "name": "length", + "nativeSrc": "23432:6:21", + "nodeType": "YulIdentifier", + "src": "23432:6:21" + }, + { + "name": "end", + "nativeSrc": "23440:3:21", + "nodeType": "YulIdentifier", + "src": "23440:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "23350:62:21", + "nodeType": "YulIdentifier", + "src": "23350:62:21" + }, + "nativeSrc": "23350:94:21", + "nodeType": "YulFunctionCall", + "src": "23350:94:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "23341:5:21", + "nodeType": "YulIdentifier", + "src": "23341:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "23080:370:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "23135:6:21", + "nodeType": "YulTypedName", + "src": "23135:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23143:3:21", + "nodeType": "YulTypedName", + "src": "23143:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "23151:5:21", + "nodeType": "YulTypedName", + "src": "23151:5:21", + "type": "" + } + ], + "src": "23080:370:21" + }, + { + "body": { + "nativeSrc": "23702:1481:21", + "nodeType": "YulBlock", + "src": "23702:1481:21", + "statements": [ + { + "body": { + "nativeSrc": "23749:83:21", + "nodeType": "YulBlock", + "src": "23749:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "23751:77:21", + "nodeType": "YulIdentifier", + "src": "23751:77:21" + }, + "nativeSrc": "23751:79:21", + "nodeType": "YulFunctionCall", + "src": "23751:79:21" + }, + "nativeSrc": "23751:79:21", + "nodeType": "YulExpressionStatement", + "src": "23751:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "23723:7:21", + "nodeType": "YulIdentifier", + "src": "23723:7:21" + }, + { + "name": "headStart", + "nativeSrc": "23732:9:21", + "nodeType": "YulIdentifier", + "src": "23732:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23719:3:21", + "nodeType": "YulIdentifier", + "src": "23719:3:21" + }, + "nativeSrc": "23719:23:21", + "nodeType": "YulFunctionCall", + "src": "23719:23:21" + }, + { + "kind": "number", + "nativeSrc": "23744:3:21", + "nodeType": "YulLiteral", + "src": "23744:3:21", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23715:3:21", + "nodeType": "YulIdentifier", + "src": "23715:3:21" + }, + "nativeSrc": "23715:33:21", + "nodeType": "YulFunctionCall", + "src": "23715:33:21" + }, + "nativeSrc": "23712:120:21", + "nodeType": "YulIf", + "src": "23712:120:21" + }, + { + "nativeSrc": "23842:137:21", + "nodeType": "YulBlock", + "src": "23842:137:21", + "statements": [ + { + "nativeSrc": "23857:15:21", + "nodeType": "YulVariableDeclaration", + "src": "23857:15:21", + "value": { + "kind": "number", + "nativeSrc": "23871:1:21", + "nodeType": "YulLiteral", + "src": "23871:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23861:6:21", + "nodeType": "YulTypedName", + "src": "23861:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "23886:83:21", + "nodeType": "YulAssignment", + "src": "23886:83:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23941:9:21", + "nodeType": "YulIdentifier", + "src": "23941:9:21" + }, + { + "name": "offset", + "nativeSrc": "23952:6:21", + "nodeType": "YulIdentifier", + "src": "23952:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23937:3:21", + "nodeType": "YulIdentifier", + "src": "23937:3:21" + }, + "nativeSrc": "23937:22:21", + "nodeType": "YulFunctionCall", + "src": "23937:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "23961:7:21", + "nodeType": "YulIdentifier", + "src": "23961:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEVMVerifier_$798", + "nativeSrc": "23896:40:21", + "nodeType": "YulIdentifier", + "src": "23896:40:21" + }, + "nativeSrc": "23896:73:21", + "nodeType": "YulFunctionCall", + "src": "23896:73:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "23886:6:21", + "nodeType": "YulIdentifier", + "src": "23886:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "23989:126:21", + "nodeType": "YulBlock", + "src": "23989:126:21", + "statements": [ + { + "nativeSrc": "24004:16:21", + "nodeType": "YulVariableDeclaration", + "src": "24004:16:21", + "value": { + "kind": "number", + "nativeSrc": "24018:2:21", + "nodeType": "YulLiteral", + "src": "24018:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24008:6:21", + "nodeType": "YulTypedName", + "src": "24008:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "24034:71:21", + "nodeType": "YulAssignment", + "src": "24034:71:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24077:9:21", + "nodeType": "YulIdentifier", + "src": "24077:9:21" + }, + { + "name": "offset", + "nativeSrc": "24088:6:21", + "nodeType": "YulIdentifier", + "src": "24088:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24073:3:21", + "nodeType": "YulIdentifier", + "src": "24073:3:21" + }, + "nativeSrc": "24073:22:21", + "nodeType": "YulFunctionCall", + "src": "24073:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24097:7:21", + "nodeType": "YulIdentifier", + "src": "24097:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_payable", + "nativeSrc": "24044:28:21", + "nodeType": "YulIdentifier", + "src": "24044:28:21" + }, + "nativeSrc": "24044:61:21", + "nodeType": "YulFunctionCall", + "src": "24044:61:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "24034:6:21", + "nodeType": "YulIdentifier", + "src": "24034:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24125:303:21", + "nodeType": "YulBlock", + "src": "24125:303:21", + "statements": [ + { + "nativeSrc": "24140:46:21", + "nodeType": "YulVariableDeclaration", + "src": "24140:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24171:9:21", + "nodeType": "YulIdentifier", + "src": "24171:9:21" + }, + { + "kind": "number", + "nativeSrc": "24182:2:21", + "nodeType": "YulLiteral", + "src": "24182:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24167:3:21", + "nodeType": "YulIdentifier", + "src": "24167:3:21" + }, + "nativeSrc": "24167:18:21", + "nodeType": "YulFunctionCall", + "src": "24167:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24154:12:21", + "nodeType": "YulIdentifier", + "src": "24154:12:21" + }, + "nativeSrc": "24154:32:21", + "nodeType": "YulFunctionCall", + "src": "24154:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24144:6:21", + "nodeType": "YulTypedName", + "src": "24144:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24233:83:21", + "nodeType": "YulBlock", + "src": "24233:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24235:77:21", + "nodeType": "YulIdentifier", + "src": "24235:77:21" + }, + "nativeSrc": "24235:79:21", + "nodeType": "YulFunctionCall", + "src": "24235:79:21" + }, + "nativeSrc": "24235:79:21", + "nodeType": "YulExpressionStatement", + "src": "24235:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24205:6:21", + "nodeType": "YulIdentifier", + "src": "24205:6:21" + }, + { + "kind": "number", + "nativeSrc": "24213:18:21", + "nodeType": "YulLiteral", + "src": "24213:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24202:2:21", + "nodeType": "YulIdentifier", + "src": "24202:2:21" + }, + "nativeSrc": "24202:30:21", + "nodeType": "YulFunctionCall", + "src": "24202:30:21" + }, + "nativeSrc": "24199:117:21", + "nodeType": "YulIf", + "src": "24199:117:21" + }, + { + "nativeSrc": "24330:88:21", + "nodeType": "YulAssignment", + "src": "24330:88:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24390:9:21", + "nodeType": "YulIdentifier", + "src": "24390:9:21" + }, + { + "name": "offset", + "nativeSrc": "24401:6:21", + "nodeType": "YulIdentifier", + "src": "24401:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24386:3:21", + "nodeType": "YulIdentifier", + "src": "24386:3:21" + }, + "nativeSrc": "24386:22:21", + "nodeType": "YulFunctionCall", + "src": "24386:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24410:7:21", + "nodeType": "YulIdentifier", + "src": "24410:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "24340:45:21", + "nodeType": "YulIdentifier", + "src": "24340:45:21" + }, + "nativeSrc": "24340:78:21", + "nodeType": "YulFunctionCall", + "src": "24340:78:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "24330:6:21", + "nodeType": "YulIdentifier", + "src": "24330:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24438:312:21", + "nodeType": "YulBlock", + "src": "24438:312:21", + "statements": [ + { + "nativeSrc": "24453:46:21", + "nodeType": "YulVariableDeclaration", + "src": "24453:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24484:9:21", + "nodeType": "YulIdentifier", + "src": "24484:9:21" + }, + { + "kind": "number", + "nativeSrc": "24495:2:21", + "nodeType": "YulLiteral", + "src": "24495:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24480:3:21", + "nodeType": "YulIdentifier", + "src": "24480:3:21" + }, + "nativeSrc": "24480:18:21", + "nodeType": "YulFunctionCall", + "src": "24480:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24467:12:21", + "nodeType": "YulIdentifier", + "src": "24467:12:21" + }, + "nativeSrc": "24467:32:21", + "nodeType": "YulFunctionCall", + "src": "24467:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24457:6:21", + "nodeType": "YulTypedName", + "src": "24457:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24546:83:21", + "nodeType": "YulBlock", + "src": "24546:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24548:77:21", + "nodeType": "YulIdentifier", + "src": "24548:77:21" + }, + "nativeSrc": "24548:79:21", + "nodeType": "YulFunctionCall", + "src": "24548:79:21" + }, + "nativeSrc": "24548:79:21", + "nodeType": "YulExpressionStatement", + "src": "24548:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24518:6:21", + "nodeType": "YulIdentifier", + "src": "24518:6:21" + }, + { + "kind": "number", + "nativeSrc": "24526:18:21", + "nodeType": "YulLiteral", + "src": "24526:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24515:2:21", + "nodeType": "YulIdentifier", + "src": "24515:2:21" + }, + "nativeSrc": "24515:30:21", + "nodeType": "YulFunctionCall", + "src": "24515:30:21" + }, + "nativeSrc": "24512:117:21", + "nodeType": "YulIf", + "src": "24512:117:21" + }, + { + "nativeSrc": "24643:97:21", + "nodeType": "YulAssignment", + "src": "24643:97:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24712:9:21", + "nodeType": "YulIdentifier", + "src": "24712:9:21" + }, + { + "name": "offset", + "nativeSrc": "24723:6:21", + "nodeType": "YulIdentifier", + "src": "24723:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24708:3:21", + "nodeType": "YulIdentifier", + "src": "24708:3:21" + }, + "nativeSrc": "24708:22:21", + "nodeType": "YulFunctionCall", + "src": "24708:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24732:7:21", + "nodeType": "YulIdentifier", + "src": "24732:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "24653:54:21", + "nodeType": "YulIdentifier", + "src": "24653:54:21" + }, + "nativeSrc": "24653:87:21", + "nodeType": "YulFunctionCall", + "src": "24653:87:21" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "24643:6:21", + "nodeType": "YulIdentifier", + "src": "24643:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24760:118:21", + "nodeType": "YulBlock", + "src": "24760:118:21", + "statements": [ + { + "nativeSrc": "24775:17:21", + "nodeType": "YulVariableDeclaration", + "src": "24775:17:21", + "value": { + "kind": "number", + "nativeSrc": "24789:3:21", + "nodeType": "YulLiteral", + "src": "24789:3:21", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24779:6:21", + "nodeType": "YulTypedName", + "src": "24779:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "24806:62:21", + "nodeType": "YulAssignment", + "src": "24806:62:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24840:9:21", + "nodeType": "YulIdentifier", + "src": "24840:9:21" + }, + { + "name": "offset", + "nativeSrc": "24851:6:21", + "nodeType": "YulIdentifier", + "src": "24851:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24836:3:21", + "nodeType": "YulIdentifier", + "src": "24836:3:21" + }, + "nativeSrc": "24836:22:21", + "nodeType": "YulFunctionCall", + "src": "24836:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24860:7:21", + "nodeType": "YulIdentifier", + "src": "24860:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "24816:19:21", + "nodeType": "YulIdentifier", + "src": "24816:19:21" + }, + "nativeSrc": "24816:52:21", + "nodeType": "YulFunctionCall", + "src": "24816:52:21" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "24806:6:21", + "nodeType": "YulIdentifier", + "src": "24806:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24888:288:21", + "nodeType": "YulBlock", + "src": "24888:288:21", + "statements": [ + { + "nativeSrc": "24903:47:21", + "nodeType": "YulVariableDeclaration", + "src": "24903:47:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24934:9:21", + "nodeType": "YulIdentifier", + "src": "24934:9:21" + }, + { + "kind": "number", + "nativeSrc": "24945:3:21", + "nodeType": "YulLiteral", + "src": "24945:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24930:3:21", + "nodeType": "YulIdentifier", + "src": "24930:3:21" + }, + "nativeSrc": "24930:19:21", + "nodeType": "YulFunctionCall", + "src": "24930:19:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24917:12:21", + "nodeType": "YulIdentifier", + "src": "24917:12:21" + }, + "nativeSrc": "24917:33:21", + "nodeType": "YulFunctionCall", + "src": "24917:33:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24907:6:21", + "nodeType": "YulTypedName", + "src": "24907:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24997:83:21", + "nodeType": "YulBlock", + "src": "24997:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24999:77:21", + "nodeType": "YulIdentifier", + "src": "24999:77:21" + }, + "nativeSrc": "24999:79:21", + "nodeType": "YulFunctionCall", + "src": "24999:79:21" + }, + "nativeSrc": "24999:79:21", + "nodeType": "YulExpressionStatement", + "src": "24999:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24969:6:21", + "nodeType": "YulIdentifier", + "src": "24969:6:21" + }, + { + "kind": "number", + "nativeSrc": "24977:18:21", + "nodeType": "YulLiteral", + "src": "24977:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24966:2:21", + "nodeType": "YulIdentifier", + "src": "24966:2:21" + }, + "nativeSrc": "24966:30:21", + "nodeType": "YulFunctionCall", + "src": "24966:30:21" + }, + "nativeSrc": "24963:117:21", + "nodeType": "YulIf", + "src": "24963:117:21" + }, + { + "nativeSrc": "25094:72:21", + "nodeType": "YulAssignment", + "src": "25094:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25138:9:21", + "nodeType": "YulIdentifier", + "src": "25138:9:21" + }, + { + "name": "offset", + "nativeSrc": "25149:6:21", + "nodeType": "YulIdentifier", + "src": "25149:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25134:3:21", + "nodeType": "YulIdentifier", + "src": "25134:3:21" + }, + "nativeSrc": "25134:22:21", + "nodeType": "YulFunctionCall", + "src": "25134:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "25158:7:21", + "nodeType": "YulIdentifier", + "src": "25158:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "25104:29:21", + "nodeType": "YulIdentifier", + "src": "25104:29:21" + }, + "nativeSrc": "25104:62:21", + "nodeType": "YulFunctionCall", + "src": "25104:62:21" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "25094:6:21", + "nodeType": "YulIdentifier", + "src": "25094:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr", + "nativeSrc": "23456:1727:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23632:9:21", + "nodeType": "YulTypedName", + "src": "23632:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "23643:7:21", + "nodeType": "YulTypedName", + "src": "23643:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "23655:6:21", + "nodeType": "YulTypedName", + "src": "23655:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "23663:6:21", + "nodeType": "YulTypedName", + "src": "23663:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "23671:6:21", + "nodeType": "YulTypedName", + "src": "23671:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "23679:6:21", + "nodeType": "YulTypedName", + "src": "23679:6:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "23687:6:21", + "nodeType": "YulTypedName", + "src": "23687:6:21", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "23695:6:21", + "nodeType": "YulTypedName", + "src": "23695:6:21", + "type": "" + } + ], + "src": "23456:1727:21" + }, + { + "body": { + "nativeSrc": "25263:40:21", + "nodeType": "YulBlock", + "src": "25263:40:21", + "statements": [ + { + "nativeSrc": "25274:22:21", + "nodeType": "YulAssignment", + "src": "25274:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "25290:5:21", + "nodeType": "YulIdentifier", + "src": "25290:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25284:5:21", + "nodeType": "YulIdentifier", + "src": "25284:5:21" + }, + "nativeSrc": "25284:12:21", + "nodeType": "YulFunctionCall", + "src": "25284:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "25274:6:21", + "nodeType": "YulIdentifier", + "src": "25274:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25189:114:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "25246:5:21", + "nodeType": "YulTypedName", + "src": "25246:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "25256:6:21", + "nodeType": "YulTypedName", + "src": "25256:6:21", + "type": "" + } + ], + "src": "25189:114:21" + }, + { + "body": { + "nativeSrc": "25420:73:21", + "nodeType": "YulBlock", + "src": "25420:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25437:3:21", + "nodeType": "YulIdentifier", + "src": "25437:3:21" + }, + { + "name": "length", + "nativeSrc": "25442:6:21", + "nodeType": "YulIdentifier", + "src": "25442:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25430:6:21", + "nodeType": "YulIdentifier", + "src": "25430:6:21" + }, + "nativeSrc": "25430:19:21", + "nodeType": "YulFunctionCall", + "src": "25430:19:21" + }, + "nativeSrc": "25430:19:21", + "nodeType": "YulExpressionStatement", + "src": "25430:19:21" + }, + { + "nativeSrc": "25458:29:21", + "nodeType": "YulAssignment", + "src": "25458:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25477:3:21", + "nodeType": "YulIdentifier", + "src": "25477:3:21" + }, + { + "kind": "number", + "nativeSrc": "25482:4:21", + "nodeType": "YulLiteral", + "src": "25482:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25473:3:21", + "nodeType": "YulIdentifier", + "src": "25473:3:21" + }, + "nativeSrc": "25473:14:21", + "nodeType": "YulFunctionCall", + "src": "25473:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "25458:11:21", + "nodeType": "YulIdentifier", + "src": "25458:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "25309:184:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "25392:3:21", + "nodeType": "YulTypedName", + "src": "25392:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "25397:6:21", + "nodeType": "YulTypedName", + "src": "25397:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "25408:11:21", + "nodeType": "YulTypedName", + "src": "25408:11:21", + "type": "" + } + ], + "src": "25309:184:21" + }, + { + "body": { + "nativeSrc": "25571:60:21", + "nodeType": "YulBlock", + "src": "25571:60:21", + "statements": [ + { + "nativeSrc": "25581:11:21", + "nodeType": "YulAssignment", + "src": "25581:11:21", + "value": { + "name": "ptr", + "nativeSrc": "25589:3:21", + "nodeType": "YulIdentifier", + "src": "25589:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "25581:4:21", + "nodeType": "YulIdentifier", + "src": "25581:4:21" + } + ] + }, + { + "nativeSrc": "25602:22:21", + "nodeType": "YulAssignment", + "src": "25602:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "25614:3:21", + "nodeType": "YulIdentifier", + "src": "25614:3:21" + }, + { + "kind": "number", + "nativeSrc": "25619:4:21", + "nodeType": "YulLiteral", + "src": "25619:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25610:3:21", + "nodeType": "YulIdentifier", + "src": "25610:3:21" + }, + "nativeSrc": "25610:14:21", + "nodeType": "YulFunctionCall", + "src": "25610:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "25602:4:21", + "nodeType": "YulIdentifier", + "src": "25602:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25499:132:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "25558:3:21", + "nodeType": "YulTypedName", + "src": "25558:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "25566:4:21", + "nodeType": "YulTypedName", + "src": "25566:4:21", + "type": "" + } + ], + "src": "25499:132:21" + }, + { + "body": { + "nativeSrc": "25692:53:21", + "nodeType": "YulBlock", + "src": "25692:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25709:3:21", + "nodeType": "YulIdentifier", + "src": "25709:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25732:5:21", + "nodeType": "YulIdentifier", + "src": "25732:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "25714:17:21", + "nodeType": "YulIdentifier", + "src": "25714:17:21" + }, + "nativeSrc": "25714:24:21", + "nodeType": "YulFunctionCall", + "src": "25714:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25702:6:21", + "nodeType": "YulIdentifier", + "src": "25702:6:21" + }, + "nativeSrc": "25702:37:21", + "nodeType": "YulFunctionCall", + "src": "25702:37:21" + }, + "nativeSrc": "25702:37:21", + "nodeType": "YulExpressionStatement", + "src": "25702:37:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nativeSrc": "25637:108:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "25680:5:21", + "nodeType": "YulTypedName", + "src": "25680:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "25687:3:21", + "nodeType": "YulTypedName", + "src": "25687:3:21", + "type": "" + } + ], + "src": "25637:108:21" + }, + { + "body": { + "nativeSrc": "25831:99:21", + "nodeType": "YulBlock", + "src": "25831:99:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "25875:6:21", + "nodeType": "YulIdentifier", + "src": "25875:6:21" + }, + { + "name": "pos", + "nativeSrc": "25883:3:21", + "nodeType": "YulIdentifier", + "src": "25883:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nativeSrc": "25841:33:21", + "nodeType": "YulIdentifier", + "src": "25841:33:21" + }, + "nativeSrc": "25841:46:21", + "nodeType": "YulFunctionCall", + "src": "25841:46:21" + }, + "nativeSrc": "25841:46:21", + "nodeType": "YulExpressionStatement", + "src": "25841:46:21" + }, + { + "nativeSrc": "25896:28:21", + "nodeType": "YulAssignment", + "src": "25896:28:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25914:3:21", + "nodeType": "YulIdentifier", + "src": "25914:3:21" + }, + { + "kind": "number", + "nativeSrc": "25919:4:21", + "nodeType": "YulLiteral", + "src": "25919:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25910:3:21", + "nodeType": "YulIdentifier", + "src": "25910:3:21" + }, + "nativeSrc": "25910:14:21", + "nodeType": "YulFunctionCall", + "src": "25910:14:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "25896:10:21", + "nodeType": "YulIdentifier", + "src": "25896:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32", + "nativeSrc": "25751:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "25804:6:21", + "nodeType": "YulTypedName", + "src": "25804:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "25812:3:21", + "nodeType": "YulTypedName", + "src": "25812:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "25820:10:21", + "nodeType": "YulTypedName", + "src": "25820:10:21", + "type": "" + } + ], + "src": "25751:179:21" + }, + { + "body": { + "nativeSrc": "26011:38:21", + "nodeType": "YulBlock", + "src": "26011:38:21", + "statements": [ + { + "nativeSrc": "26021:22:21", + "nodeType": "YulAssignment", + "src": "26021:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "26033:3:21", + "nodeType": "YulIdentifier", + "src": "26033:3:21" + }, + { + "kind": "number", + "nativeSrc": "26038:4:21", + "nodeType": "YulLiteral", + "src": "26038:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26029:3:21", + "nodeType": "YulIdentifier", + "src": "26029:3:21" + }, + "nativeSrc": "26029:14:21", + "nodeType": "YulFunctionCall", + "src": "26029:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "26021:4:21", + "nodeType": "YulIdentifier", + "src": "26021:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25936:113:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "25998:3:21", + "nodeType": "YulTypedName", + "src": "25998:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "26006:4:21", + "nodeType": "YulTypedName", + "src": "26006:4:21", + "type": "" + } + ], + "src": "25936:113:21" + }, + { + "body": { + "nativeSrc": "26209:608:21", + "nodeType": "YulBlock", + "src": "26209:608:21", + "statements": [ + { + "nativeSrc": "26219:68:21", + "nodeType": "YulVariableDeclaration", + "src": "26219:68:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26281:5:21", + "nodeType": "YulIdentifier", + "src": "26281:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26233:47:21", + "nodeType": "YulIdentifier", + "src": "26233:47:21" + }, + "nativeSrc": "26233:54:21", + "nodeType": "YulFunctionCall", + "src": "26233:54:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "26223:6:21", + "nodeType": "YulTypedName", + "src": "26223:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26296:93:21", + "nodeType": "YulAssignment", + "src": "26296:93:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "26377:3:21", + "nodeType": "YulIdentifier", + "src": "26377:3:21" + }, + { + "name": "length", + "nativeSrc": "26382:6:21", + "nodeType": "YulIdentifier", + "src": "26382:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "26303:73:21", + "nodeType": "YulIdentifier", + "src": "26303:73:21" + }, + "nativeSrc": "26303:86:21", + "nodeType": "YulFunctionCall", + "src": "26303:86:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "26296:3:21", + "nodeType": "YulIdentifier", + "src": "26296:3:21" + } + ] + }, + { + "nativeSrc": "26398:71:21", + "nodeType": "YulVariableDeclaration", + "src": "26398:71:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26463:5:21", + "nodeType": "YulIdentifier", + "src": "26463:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26413:49:21", + "nodeType": "YulIdentifier", + "src": "26413:49:21" + }, + "nativeSrc": "26413:56:21", + "nodeType": "YulFunctionCall", + "src": "26413:56:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "26402:7:21", + "nodeType": "YulTypedName", + "src": "26402:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26478:21:21", + "nodeType": "YulVariableDeclaration", + "src": "26478:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "26492:7:21", + "nodeType": "YulIdentifier", + "src": "26492:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "26482:6:21", + "nodeType": "YulTypedName", + "src": "26482:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "26568:224:21", + "nodeType": "YulBlock", + "src": "26568:224:21", + "statements": [ + { + "nativeSrc": "26582:34:21", + "nodeType": "YulVariableDeclaration", + "src": "26582:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "26609:6:21", + "nodeType": "YulIdentifier", + "src": "26609:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26603:5:21", + "nodeType": "YulIdentifier", + "src": "26603:5:21" + }, + "nativeSrc": "26603:13:21", + "nodeType": "YulFunctionCall", + "src": "26603:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "26586:13:21", + "nodeType": "YulTypedName", + "src": "26586:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26629:70:21", + "nodeType": "YulAssignment", + "src": "26629:70:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "26680:13:21", + "nodeType": "YulIdentifier", + "src": "26680:13:21" + }, + { + "name": "pos", + "nativeSrc": "26695:3:21", + "nodeType": "YulIdentifier", + "src": "26695:3:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32", + "nativeSrc": "26636:43:21", + "nodeType": "YulIdentifier", + "src": "26636:43:21" + }, + "nativeSrc": "26636:63:21", + "nodeType": "YulFunctionCall", + "src": "26636:63:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "26629:3:21", + "nodeType": "YulIdentifier", + "src": "26629:3:21" + } + ] + }, + { + "nativeSrc": "26712:70:21", + "nodeType": "YulAssignment", + "src": "26712:70:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "26775:6:21", + "nodeType": "YulIdentifier", + "src": "26775:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26722:52:21", + "nodeType": "YulIdentifier", + "src": "26722:52:21" + }, + "nativeSrc": "26722:60:21", + "nodeType": "YulFunctionCall", + "src": "26722:60:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "26712:6:21", + "nodeType": "YulIdentifier", + "src": "26712:6:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26530:1:21", + "nodeType": "YulIdentifier", + "src": "26530:1:21" + }, + { + "name": "length", + "nativeSrc": "26533:6:21", + "nodeType": "YulIdentifier", + "src": "26533:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "26527:2:21", + "nodeType": "YulIdentifier", + "src": "26527:2:21" + }, + "nativeSrc": "26527:13:21", + "nodeType": "YulFunctionCall", + "src": "26527:13:21" + }, + "nativeSrc": "26508:284:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "26541:18:21", + "nodeType": "YulBlock", + "src": "26541:18:21", + "statements": [ + { + "nativeSrc": "26543:14:21", + "nodeType": "YulAssignment", + "src": "26543:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26552:1:21", + "nodeType": "YulIdentifier", + "src": "26552:1:21" + }, + { + "kind": "number", + "nativeSrc": "26555:1:21", + "nodeType": "YulLiteral", + "src": "26555:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26548:3:21", + "nodeType": "YulIdentifier", + "src": "26548:3:21" + }, + "nativeSrc": "26548:9:21", + "nodeType": "YulFunctionCall", + "src": "26548:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "26543:1:21", + "nodeType": "YulIdentifier", + "src": "26543:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "26512:14:21", + "nodeType": "YulBlock", + "src": "26512:14:21", + "statements": [ + { + "nativeSrc": "26514:10:21", + "nodeType": "YulVariableDeclaration", + "src": "26514:10:21", + "value": { + "kind": "number", + "nativeSrc": "26523:1:21", + "nodeType": "YulLiteral", + "src": "26523:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "26518:1:21", + "nodeType": "YulTypedName", + "src": "26518:1:21", + "type": "" + } + ] + } + ] + }, + "src": "26508:284:21" + }, + { + "nativeSrc": "26801:10:21", + "nodeType": "YulAssignment", + "src": "26801:10:21", + "value": { + "name": "pos", + "nativeSrc": "26808:3:21", + "nodeType": "YulIdentifier", + "src": "26808:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "26801:3:21", + "nodeType": "YulIdentifier", + "src": "26801:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "26085:732:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26188:5:21", + "nodeType": "YulTypedName", + "src": "26188:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "26195:3:21", + "nodeType": "YulTypedName", + "src": "26195:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "26204:3:21", + "nodeType": "YulTypedName", + "src": "26204:3:21", + "type": "" + } + ], + "src": "26085:732:21" + }, + { + "body": { + "nativeSrc": "26906:40:21", + "nodeType": "YulBlock", + "src": "26906:40:21", + "statements": [ + { + "nativeSrc": "26917:22:21", + "nodeType": "YulAssignment", + "src": "26917:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26933:5:21", + "nodeType": "YulIdentifier", + "src": "26933:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26927:5:21", + "nodeType": "YulIdentifier", + "src": "26927:5:21" + }, + "nativeSrc": "26927:12:21", + "nodeType": "YulFunctionCall", + "src": "26927:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "26917:6:21", + "nodeType": "YulIdentifier", + "src": "26917:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "26823:123:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26889:5:21", + "nodeType": "YulTypedName", + "src": "26889:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "26899:6:21", + "nodeType": "YulTypedName", + "src": "26899:6:21", + "type": "" + } + ], + "src": "26823:123:21" + }, + { + "body": { + "nativeSrc": "27072:73:21", + "nodeType": "YulBlock", + "src": "27072:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27089:3:21", + "nodeType": "YulIdentifier", + "src": "27089:3:21" + }, + { + "name": "length", + "nativeSrc": "27094:6:21", + "nodeType": "YulIdentifier", + "src": "27094:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27082:6:21", + "nodeType": "YulIdentifier", + "src": "27082:6:21" + }, + "nativeSrc": "27082:19:21", + "nodeType": "YulFunctionCall", + "src": "27082:19:21" + }, + "nativeSrc": "27082:19:21", + "nodeType": "YulExpressionStatement", + "src": "27082:19:21" + }, + { + "nativeSrc": "27110:29:21", + "nodeType": "YulAssignment", + "src": "27110:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27129:3:21", + "nodeType": "YulIdentifier", + "src": "27129:3:21" + }, + { + "kind": "number", + "nativeSrc": "27134:4:21", + "nodeType": "YulLiteral", + "src": "27134:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27125:3:21", + "nodeType": "YulIdentifier", + "src": "27125:3:21" + }, + "nativeSrc": "27125:14:21", + "nodeType": "YulFunctionCall", + "src": "27125:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "27110:11:21", + "nodeType": "YulIdentifier", + "src": "27110:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "26952:193:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "27044:3:21", + "nodeType": "YulTypedName", + "src": "27044:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "27049:6:21", + "nodeType": "YulTypedName", + "src": "27049:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "27060:11:21", + "nodeType": "YulTypedName", + "src": "27060:11:21", + "type": "" + } + ], + "src": "26952:193:21" + }, + { + "body": { + "nativeSrc": "27232:60:21", + "nodeType": "YulBlock", + "src": "27232:60:21", + "statements": [ + { + "nativeSrc": "27242:11:21", + "nodeType": "YulAssignment", + "src": "27242:11:21", + "value": { + "name": "ptr", + "nativeSrc": "27250:3:21", + "nodeType": "YulIdentifier", + "src": "27250:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "27242:4:21", + "nodeType": "YulIdentifier", + "src": "27242:4:21" + } + ] + }, + { + "nativeSrc": "27263:22:21", + "nodeType": "YulAssignment", + "src": "27263:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "27275:3:21", + "nodeType": "YulIdentifier", + "src": "27275:3:21" + }, + { + "kind": "number", + "nativeSrc": "27280:4:21", + "nodeType": "YulLiteral", + "src": "27280:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27271:3:21", + "nodeType": "YulIdentifier", + "src": "27271:3:21" + }, + "nativeSrc": "27271:14:21", + "nodeType": "YulFunctionCall", + "src": "27271:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "27263:4:21", + "nodeType": "YulIdentifier", + "src": "27263:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "27151:141:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "27219:3:21", + "nodeType": "YulTypedName", + "src": "27219:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "27227:4:21", + "nodeType": "YulTypedName", + "src": "27227:4:21", + "type": "" + } + ], + "src": "27151:141:21" + }, + { + "body": { + "nativeSrc": "27383:73:21", + "nodeType": "YulBlock", + "src": "27383:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27400:3:21", + "nodeType": "YulIdentifier", + "src": "27400:3:21" + }, + { + "name": "length", + "nativeSrc": "27405:6:21", + "nodeType": "YulIdentifier", + "src": "27405:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27393:6:21", + "nodeType": "YulIdentifier", + "src": "27393:6:21" + }, + "nativeSrc": "27393:19:21", + "nodeType": "YulFunctionCall", + "src": "27393:19:21" + }, + "nativeSrc": "27393:19:21", + "nodeType": "YulExpressionStatement", + "src": "27393:19:21" + }, + { + "nativeSrc": "27421:29:21", + "nodeType": "YulAssignment", + "src": "27421:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27440:3:21", + "nodeType": "YulIdentifier", + "src": "27440:3:21" + }, + { + "kind": "number", + "nativeSrc": "27445:4:21", + "nodeType": "YulLiteral", + "src": "27445:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27436:3:21", + "nodeType": "YulIdentifier", + "src": "27436:3:21" + }, + "nativeSrc": "27436:14:21", + "nodeType": "YulFunctionCall", + "src": "27436:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "27421:11:21", + "nodeType": "YulIdentifier", + "src": "27421:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nativeSrc": "27298:158:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "27355:3:21", + "nodeType": "YulTypedName", + "src": "27355:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "27360:6:21", + "nodeType": "YulTypedName", + "src": "27360:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "27371:11:21", + "nodeType": "YulTypedName", + "src": "27371:11:21", + "type": "" + } + ], + "src": "27298:158:21" + }, + { + "body": { + "nativeSrc": "27542:273:21", + "nodeType": "YulBlock", + "src": "27542:273:21", + "statements": [ + { + "nativeSrc": "27552:52:21", + "nodeType": "YulVariableDeclaration", + "src": "27552:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "27598:5:21", + "nodeType": "YulIdentifier", + "src": "27598:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "27566:31:21", + "nodeType": "YulIdentifier", + "src": "27566:31:21" + }, + "nativeSrc": "27566:38:21", + "nodeType": "YulFunctionCall", + "src": "27566:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "27556:6:21", + "nodeType": "YulTypedName", + "src": "27556:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "27613:67:21", + "nodeType": "YulAssignment", + "src": "27613:67:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27668:3:21", + "nodeType": "YulIdentifier", + "src": "27668:3:21" + }, + { + "name": "length", + "nativeSrc": "27673:6:21", + "nodeType": "YulIdentifier", + "src": "27673:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nativeSrc": "27620:47:21", + "nodeType": "YulIdentifier", + "src": "27620:47:21" + }, + "nativeSrc": "27620:60:21", + "nodeType": "YulFunctionCall", + "src": "27620:60:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "27613:3:21", + "nodeType": "YulIdentifier", + "src": "27613:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "27728:5:21", + "nodeType": "YulIdentifier", + "src": "27728:5:21" + }, + { + "kind": "number", + "nativeSrc": "27735:4:21", + "nodeType": "YulLiteral", + "src": "27735:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27724:3:21", + "nodeType": "YulIdentifier", + "src": "27724:3:21" + }, + "nativeSrc": "27724:16:21", + "nodeType": "YulFunctionCall", + "src": "27724:16:21" + }, + { + "name": "pos", + "nativeSrc": "27742:3:21", + "nodeType": "YulIdentifier", + "src": "27742:3:21" + }, + { + "name": "length", + "nativeSrc": "27747:6:21", + "nodeType": "YulIdentifier", + "src": "27747:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "27689:34:21", + "nodeType": "YulIdentifier", + "src": "27689:34:21" + }, + "nativeSrc": "27689:65:21", + "nodeType": "YulFunctionCall", + "src": "27689:65:21" + }, + "nativeSrc": "27689:65:21", + "nodeType": "YulExpressionStatement", + "src": "27689:65:21" + }, + { + "nativeSrc": "27763:46:21", + "nodeType": "YulAssignment", + "src": "27763:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27774:3:21", + "nodeType": "YulIdentifier", + "src": "27774:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "27801:6:21", + "nodeType": "YulIdentifier", + "src": "27801:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "27779:21:21", + "nodeType": "YulIdentifier", + "src": "27779:21:21" + }, + "nativeSrc": "27779:29:21", + "nodeType": "YulFunctionCall", + "src": "27779:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27770:3:21", + "nodeType": "YulIdentifier", + "src": "27770:3:21" + }, + "nativeSrc": "27770:39:21", + "nodeType": "YulFunctionCall", + "src": "27770:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "27763:3:21", + "nodeType": "YulIdentifier", + "src": "27763:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27462:353:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "27523:5:21", + "nodeType": "YulTypedName", + "src": "27523:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "27530:3:21", + "nodeType": "YulTypedName", + "src": "27530:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "27538:3:21", + "nodeType": "YulTypedName", + "src": "27538:3:21", + "type": "" + } + ], + "src": "27462:353:21" + }, + { + "body": { + "nativeSrc": "27919:94:21", + "nodeType": "YulBlock", + "src": "27919:94:21", + "statements": [ + { + "nativeSrc": "27929:78:21", + "nodeType": "YulAssignment", + "src": "27929:78:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "27995:6:21", + "nodeType": "YulIdentifier", + "src": "27995:6:21" + }, + { + "name": "pos", + "nativeSrc": "28003:3:21", + "nodeType": "YulIdentifier", + "src": "28003:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27943:51:21", + "nodeType": "YulIdentifier", + "src": "27943:51:21" + }, + "nativeSrc": "27943:64:21", + "nodeType": "YulFunctionCall", + "src": "27943:64:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "27929:10:21", + "nodeType": "YulIdentifier", + "src": "27929:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27821:192:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "27892:6:21", + "nodeType": "YulTypedName", + "src": "27892:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "27900:3:21", + "nodeType": "YulTypedName", + "src": "27900:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "27908:10:21", + "nodeType": "YulTypedName", + "src": "27908:10:21", + "type": "" + } + ], + "src": "27821:192:21" + }, + { + "body": { + "nativeSrc": "28103:38:21", + "nodeType": "YulBlock", + "src": "28103:38:21", + "statements": [ + { + "nativeSrc": "28113:22:21", + "nodeType": "YulAssignment", + "src": "28113:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "28125:3:21", + "nodeType": "YulIdentifier", + "src": "28125:3:21" + }, + { + "kind": "number", + "nativeSrc": "28130:4:21", + "nodeType": "YulLiteral", + "src": "28130:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28121:3:21", + "nodeType": "YulIdentifier", + "src": "28121:3:21" + }, + "nativeSrc": "28121:14:21", + "nodeType": "YulFunctionCall", + "src": "28121:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "28113:4:21", + "nodeType": "YulIdentifier", + "src": "28113:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28019:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "28090:3:21", + "nodeType": "YulTypedName", + "src": "28090:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "28098:4:21", + "nodeType": "YulTypedName", + "src": "28098:4:21", + "type": "" + } + ], + "src": "28019:122:21" + }, + { + "body": { + "nativeSrc": "28315:841:21", + "nodeType": "YulBlock", + "src": "28315:841:21", + "statements": [ + { + "nativeSrc": "28325:77:21", + "nodeType": "YulVariableDeclaration", + "src": "28325:77:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "28396:5:21", + "nodeType": "YulIdentifier", + "src": "28396:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28339:56:21", + "nodeType": "YulIdentifier", + "src": "28339:56:21" + }, + "nativeSrc": "28339:63:21", + "nodeType": "YulFunctionCall", + "src": "28339:63:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "28329:6:21", + "nodeType": "YulTypedName", + "src": "28329:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28411:102:21", + "nodeType": "YulAssignment", + "src": "28411:102:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28501:3:21", + "nodeType": "YulIdentifier", + "src": "28501:3:21" + }, + { + "name": "length", + "nativeSrc": "28506:6:21", + "nodeType": "YulIdentifier", + "src": "28506:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "28418:82:21", + "nodeType": "YulIdentifier", + "src": "28418:82:21" + }, + "nativeSrc": "28418:95:21", + "nodeType": "YulFunctionCall", + "src": "28418:95:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "28411:3:21", + "nodeType": "YulIdentifier", + "src": "28411:3:21" + } + ] + }, + { + "nativeSrc": "28522:20:21", + "nodeType": "YulVariableDeclaration", + "src": "28522:20:21", + "value": { + "name": "pos", + "nativeSrc": "28539:3:21", + "nodeType": "YulIdentifier", + "src": "28539:3:21" + }, + "variables": [ + { + "name": "headStart", + "nativeSrc": "28526:9:21", + "nodeType": "YulTypedName", + "src": "28526:9:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28551:39:21", + "nodeType": "YulVariableDeclaration", + "src": "28551:39:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28567:3:21", + "nodeType": "YulIdentifier", + "src": "28567:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "28576:6:21", + "nodeType": "YulIdentifier", + "src": "28576:6:21" + }, + { + "kind": "number", + "nativeSrc": "28584:4:21", + "nodeType": "YulLiteral", + "src": "28584:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "28572:3:21", + "nodeType": "YulIdentifier", + "src": "28572:3:21" + }, + "nativeSrc": "28572:17:21", + "nodeType": "YulFunctionCall", + "src": "28572:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28563:3:21", + "nodeType": "YulIdentifier", + "src": "28563:3:21" + }, + "nativeSrc": "28563:27:21", + "nodeType": "YulFunctionCall", + "src": "28563:27:21" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "28555:4:21", + "nodeType": "YulTypedName", + "src": "28555:4:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28599:80:21", + "nodeType": "YulVariableDeclaration", + "src": "28599:80:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "28673:5:21", + "nodeType": "YulIdentifier", + "src": "28673:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28614:58:21", + "nodeType": "YulIdentifier", + "src": "28614:58:21" + }, + "nativeSrc": "28614:65:21", + "nodeType": "YulFunctionCall", + "src": "28614:65:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "28603:7:21", + "nodeType": "YulTypedName", + "src": "28603:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28688:21:21", + "nodeType": "YulVariableDeclaration", + "src": "28688:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "28702:7:21", + "nodeType": "YulIdentifier", + "src": "28702:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "28692:6:21", + "nodeType": "YulTypedName", + "src": "28692:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "28778:333:21", + "nodeType": "YulBlock", + "src": "28778:333:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28799:3:21", + "nodeType": "YulIdentifier", + "src": "28799:3:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28808:4:21", + "nodeType": "YulIdentifier", + "src": "28808:4:21" + }, + { + "name": "headStart", + "nativeSrc": "28814:9:21", + "nodeType": "YulIdentifier", + "src": "28814:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28804:3:21", + "nodeType": "YulIdentifier", + "src": "28804:3:21" + }, + "nativeSrc": "28804:20:21", + "nodeType": "YulFunctionCall", + "src": "28804:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28792:6:21", + "nodeType": "YulIdentifier", + "src": "28792:6:21" + }, + "nativeSrc": "28792:33:21", + "nodeType": "YulFunctionCall", + "src": "28792:33:21" + }, + "nativeSrc": "28792:33:21", + "nodeType": "YulExpressionStatement", + "src": "28792:33:21" + }, + { + "nativeSrc": "28838:34:21", + "nodeType": "YulVariableDeclaration", + "src": "28838:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "28865:6:21", + "nodeType": "YulIdentifier", + "src": "28865:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "28859:5:21", + "nodeType": "YulIdentifier", + "src": "28859:5:21" + }, + "nativeSrc": "28859:13:21", + "nodeType": "YulFunctionCall", + "src": "28859:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "28842:13:21", + "nodeType": "YulTypedName", + "src": "28842:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28885:90:21", + "nodeType": "YulAssignment", + "src": "28885:90:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "28955:13:21", + "nodeType": "YulIdentifier", + "src": "28955:13:21" + }, + { + "name": "tail", + "nativeSrc": "28970:4:21", + "nodeType": "YulIdentifier", + "src": "28970:4:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "28893:61:21", + "nodeType": "YulIdentifier", + "src": "28893:61:21" + }, + "nativeSrc": "28893:82:21", + "nodeType": "YulFunctionCall", + "src": "28893:82:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28885:4:21", + "nodeType": "YulIdentifier", + "src": "28885:4:21" + } + ] + }, + { + "nativeSrc": "28988:79:21", + "nodeType": "YulAssignment", + "src": "28988:79:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "29060:6:21", + "nodeType": "YulIdentifier", + "src": "29060:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28998:61:21", + "nodeType": "YulIdentifier", + "src": "28998:61:21" + }, + "nativeSrc": "28998:69:21", + "nodeType": "YulFunctionCall", + "src": "28998:69:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "28988:6:21", + "nodeType": "YulIdentifier", + "src": "28988:6:21" + } + ] + }, + { + "nativeSrc": "29080:21:21", + "nodeType": "YulAssignment", + "src": "29080:21:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "29091:3:21", + "nodeType": "YulIdentifier", + "src": "29091:3:21" + }, + { + "kind": "number", + "nativeSrc": "29096:4:21", + "nodeType": "YulLiteral", + "src": "29096:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29087:3:21", + "nodeType": "YulIdentifier", + "src": "29087:3:21" + }, + "nativeSrc": "29087:14:21", + "nodeType": "YulFunctionCall", + "src": "29087:14:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "29080:3:21", + "nodeType": "YulIdentifier", + "src": "29080:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "28740:1:21", + "nodeType": "YulIdentifier", + "src": "28740:1:21" + }, + { + "name": "length", + "nativeSrc": "28743:6:21", + "nodeType": "YulIdentifier", + "src": "28743:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "28737:2:21", + "nodeType": "YulIdentifier", + "src": "28737:2:21" + }, + "nativeSrc": "28737:13:21", + "nodeType": "YulFunctionCall", + "src": "28737:13:21" + }, + "nativeSrc": "28718:393:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "28751:18:21", + "nodeType": "YulBlock", + "src": "28751:18:21", + "statements": [ + { + "nativeSrc": "28753:14:21", + "nodeType": "YulAssignment", + "src": "28753:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "28762:1:21", + "nodeType": "YulIdentifier", + "src": "28762:1:21" + }, + { + "kind": "number", + "nativeSrc": "28765:1:21", + "nodeType": "YulLiteral", + "src": "28765:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28758:3:21", + "nodeType": "YulIdentifier", + "src": "28758:3:21" + }, + "nativeSrc": "28758:9:21", + "nodeType": "YulFunctionCall", + "src": "28758:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "28753:1:21", + "nodeType": "YulIdentifier", + "src": "28753:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "28722:14:21", + "nodeType": "YulBlock", + "src": "28722:14:21", + "statements": [ + { + "nativeSrc": "28724:10:21", + "nodeType": "YulVariableDeclaration", + "src": "28724:10:21", + "value": { + "kind": "number", + "nativeSrc": "28733:1:21", + "nodeType": "YulLiteral", + "src": "28733:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "28728:1:21", + "nodeType": "YulTypedName", + "src": "28728:1:21", + "type": "" + } + ] + } + ] + }, + "src": "28718:393:21" + }, + { + "nativeSrc": "29120:11:21", + "nodeType": "YulAssignment", + "src": "29120:11:21", + "value": { + "name": "tail", + "nativeSrc": "29127:4:21", + "nodeType": "YulIdentifier", + "src": "29127:4:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "29120:3:21", + "nodeType": "YulIdentifier", + "src": "29120:3:21" + } + ] + }, + { + "nativeSrc": "29140:10:21", + "nodeType": "YulAssignment", + "src": "29140:10:21", + "value": { + "name": "pos", + "nativeSrc": "29147:3:21", + "nodeType": "YulIdentifier", + "src": "29147:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "29140:3:21", + "nodeType": "YulIdentifier", + "src": "29140:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "28173:983:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "28294:5:21", + "nodeType": "YulTypedName", + "src": "28294:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "28301:3:21", + "nodeType": "YulTypedName", + "src": "28301:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "28310:3:21", + "nodeType": "YulTypedName", + "src": "28310:3:21", + "type": "" + } + ], + "src": "28173:983:21" + }, + { + "body": { + "nativeSrc": "29508:743:21", + "nodeType": "YulBlock", + "src": "29508:743:21", + "statements": [ + { + "nativeSrc": "29518:27:21", + "nodeType": "YulAssignment", + "src": "29518:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29530:9:21", + "nodeType": "YulIdentifier", + "src": "29530:9:21" + }, + { + "kind": "number", + "nativeSrc": "29541:3:21", + "nodeType": "YulLiteral", + "src": "29541:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29526:3:21", + "nodeType": "YulIdentifier", + "src": "29526:3:21" + }, + "nativeSrc": "29526:19:21", + "nodeType": "YulFunctionCall", + "src": "29526:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29518:4:21", + "nodeType": "YulIdentifier", + "src": "29518:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "29599:6:21", + "nodeType": "YulIdentifier", + "src": "29599:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29612:9:21", + "nodeType": "YulIdentifier", + "src": "29612:9:21" + }, + { + "kind": "number", + "nativeSrc": "29623:1:21", + "nodeType": "YulLiteral", + "src": "29623:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29608:3:21", + "nodeType": "YulIdentifier", + "src": "29608:3:21" + }, + "nativeSrc": "29608:17:21", + "nodeType": "YulFunctionCall", + "src": "29608:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "29555:43:21", + "nodeType": "YulIdentifier", + "src": "29555:43:21" + }, + "nativeSrc": "29555:71:21", + "nodeType": "YulFunctionCall", + "src": "29555:71:21" + }, + "nativeSrc": "29555:71:21", + "nodeType": "YulExpressionStatement", + "src": "29555:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29647:9:21", + "nodeType": "YulIdentifier", + "src": "29647:9:21" + }, + { + "kind": "number", + "nativeSrc": "29658:2:21", + "nodeType": "YulLiteral", + "src": "29658:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29643:3:21", + "nodeType": "YulIdentifier", + "src": "29643:3:21" + }, + "nativeSrc": "29643:18:21", + "nodeType": "YulFunctionCall", + "src": "29643:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29667:4:21", + "nodeType": "YulIdentifier", + "src": "29667:4:21" + }, + { + "name": "headStart", + "nativeSrc": "29673:9:21", + "nodeType": "YulIdentifier", + "src": "29673:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29663:3:21", + "nodeType": "YulIdentifier", + "src": "29663:3:21" + }, + "nativeSrc": "29663:20:21", + "nodeType": "YulFunctionCall", + "src": "29663:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29636:6:21", + "nodeType": "YulIdentifier", + "src": "29636:6:21" + }, + "nativeSrc": "29636:48:21", + "nodeType": "YulFunctionCall", + "src": "29636:48:21" + }, + "nativeSrc": "29636:48:21", + "nodeType": "YulExpressionStatement", + "src": "29636:48:21" + }, + { + "nativeSrc": "29693:116:21", + "nodeType": "YulAssignment", + "src": "29693:116:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "29795:6:21", + "nodeType": "YulIdentifier", + "src": "29795:6:21" + }, + { + "name": "tail", + "nativeSrc": "29804:4:21", + "nodeType": "YulIdentifier", + "src": "29804:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "29701:93:21", + "nodeType": "YulIdentifier", + "src": "29701:93:21" + }, + "nativeSrc": "29701:108:21", + "nodeType": "YulFunctionCall", + "src": "29701:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29693:4:21", + "nodeType": "YulIdentifier", + "src": "29693:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29830:9:21", + "nodeType": "YulIdentifier", + "src": "29830:9:21" + }, + { + "kind": "number", + "nativeSrc": "29841:2:21", + "nodeType": "YulLiteral", + "src": "29841:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29826:3:21", + "nodeType": "YulIdentifier", + "src": "29826:3:21" + }, + "nativeSrc": "29826:18:21", + "nodeType": "YulFunctionCall", + "src": "29826:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29850:4:21", + "nodeType": "YulIdentifier", + "src": "29850:4:21" + }, + { + "name": "headStart", + "nativeSrc": "29856:9:21", + "nodeType": "YulIdentifier", + "src": "29856:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29846:3:21", + "nodeType": "YulIdentifier", + "src": "29846:3:21" + }, + "nativeSrc": "29846:20:21", + "nodeType": "YulFunctionCall", + "src": "29846:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29819:6:21", + "nodeType": "YulIdentifier", + "src": "29819:6:21" + }, + "nativeSrc": "29819:48:21", + "nodeType": "YulFunctionCall", + "src": "29819:48:21" + }, + "nativeSrc": "29819:48:21", + "nodeType": "YulExpressionStatement", + "src": "29819:48:21" + }, + { + "nativeSrc": "29876:134:21", + "nodeType": "YulAssignment", + "src": "29876:134:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "29996:6:21", + "nodeType": "YulIdentifier", + "src": "29996:6:21" + }, + { + "name": "tail", + "nativeSrc": "30005:4:21", + "nodeType": "YulIdentifier", + "src": "30005:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "29884:111:21", + "nodeType": "YulIdentifier", + "src": "29884:111:21" + }, + "nativeSrc": "29884:126:21", + "nodeType": "YulFunctionCall", + "src": "29884:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29876:4:21", + "nodeType": "YulIdentifier", + "src": "29876:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30031:9:21", + "nodeType": "YulIdentifier", + "src": "30031:9:21" + }, + { + "kind": "number", + "nativeSrc": "30042:2:21", + "nodeType": "YulLiteral", + "src": "30042:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30027:3:21", + "nodeType": "YulIdentifier", + "src": "30027:3:21" + }, + "nativeSrc": "30027:18:21", + "nodeType": "YulFunctionCall", + "src": "30027:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "30051:4:21", + "nodeType": "YulIdentifier", + "src": "30051:4:21" + }, + { + "name": "headStart", + "nativeSrc": "30057:9:21", + "nodeType": "YulIdentifier", + "src": "30057:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "30047:3:21", + "nodeType": "YulIdentifier", + "src": "30047:3:21" + }, + "nativeSrc": "30047:20:21", + "nodeType": "YulFunctionCall", + "src": "30047:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30020:6:21", + "nodeType": "YulIdentifier", + "src": "30020:6:21" + }, + "nativeSrc": "30020:48:21", + "nodeType": "YulFunctionCall", + "src": "30020:48:21" + }, + "nativeSrc": "30020:48:21", + "nodeType": "YulExpressionStatement", + "src": "30020:48:21" + }, + { + "nativeSrc": "30077:84:21", + "nodeType": "YulAssignment", + "src": "30077:84:21", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "30147:6:21", + "nodeType": "YulIdentifier", + "src": "30147:6:21" + }, + { + "name": "tail", + "nativeSrc": "30156:4:21", + "nodeType": "YulIdentifier", + "src": "30156:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "30085:61:21", + "nodeType": "YulIdentifier", + "src": "30085:61:21" + }, + "nativeSrc": "30085:76:21", + "nodeType": "YulFunctionCall", + "src": "30085:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "30077:4:21", + "nodeType": "YulIdentifier", + "src": "30077:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "30215:6:21", + "nodeType": "YulIdentifier", + "src": "30215:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30228:9:21", + "nodeType": "YulIdentifier", + "src": "30228:9:21" + }, + { + "kind": "number", + "nativeSrc": "30239:3:21", + "nodeType": "YulLiteral", + "src": "30239:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30224:3:21", + "nodeType": "YulIdentifier", + "src": "30224:3:21" + }, + "nativeSrc": "30224:19:21", + "nodeType": "YulFunctionCall", + "src": "30224:19:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "30171:43:21", + "nodeType": "YulIdentifier", + "src": "30171:43:21" + }, + "nativeSrc": "30171:73:21", + "nodeType": "YulFunctionCall", + "src": "30171:73:21" + }, + "nativeSrc": "30171:73:21", + "nodeType": "YulExpressionStatement", + "src": "30171:73:21" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__fromStack_reversed", + "nativeSrc": "29162:1089:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "29448:9:21", + "nodeType": "YulTypedName", + "src": "29448:9:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "29460:6:21", + "nodeType": "YulTypedName", + "src": "29460:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "29468:6:21", + "nodeType": "YulTypedName", + "src": "29468:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "29476:6:21", + "nodeType": "YulTypedName", + "src": "29476:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "29484:6:21", + "nodeType": "YulTypedName", + "src": "29484:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "29492:6:21", + "nodeType": "YulTypedName", + "src": "29492:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "29503:4:21", + "nodeType": "YulTypedName", + "src": "29503:4:21", + "type": "" + } + ], + "src": "29162:1089:21" + }, + { + "body": { + "nativeSrc": "30394:835:21", + "nodeType": "YulBlock", + "src": "30394:835:21", + "statements": [ + { + "nativeSrc": "30404:99:21", + "nodeType": "YulAssignment", + "src": "30404:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "30495:6:21", + "nodeType": "YulIdentifier", + "src": "30495:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "30429:65:21", + "nodeType": "YulIdentifier", + "src": "30429:65:21" + }, + "nativeSrc": "30429:73:21", + "nodeType": "YulFunctionCall", + "src": "30429:73:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "30413:15:21", + "nodeType": "YulIdentifier", + "src": "30413:15:21" + }, + "nativeSrc": "30413:90:21", + "nodeType": "YulFunctionCall", + "src": "30413:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "30404:5:21", + "nodeType": "YulIdentifier", + "src": "30404:5:21" + } + ] + }, + { + "nativeSrc": "30512:16:21", + "nodeType": "YulVariableDeclaration", + "src": "30512:16:21", + "value": { + "name": "array", + "nativeSrc": "30523:5:21", + "nodeType": "YulIdentifier", + "src": "30523:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "30516:3:21", + "nodeType": "YulTypedName", + "src": "30516:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "30545:5:21", + "nodeType": "YulIdentifier", + "src": "30545:5:21" + }, + { + "name": "length", + "nativeSrc": "30552:6:21", + "nodeType": "YulIdentifier", + "src": "30552:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30538:6:21", + "nodeType": "YulIdentifier", + "src": "30538:6:21" + }, + "nativeSrc": "30538:21:21", + "nodeType": "YulFunctionCall", + "src": "30538:21:21" + }, + "nativeSrc": "30538:21:21", + "nodeType": "YulExpressionStatement", + "src": "30538:21:21" + }, + { + "nativeSrc": "30568:23:21", + "nodeType": "YulAssignment", + "src": "30568:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "30579:5:21", + "nodeType": "YulIdentifier", + "src": "30579:5:21" + }, + { + "kind": "number", + "nativeSrc": "30586:4:21", + "nodeType": "YulLiteral", + "src": "30586:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30575:3:21", + "nodeType": "YulIdentifier", + "src": "30575:3:21" + }, + "nativeSrc": "30575:16:21", + "nodeType": "YulFunctionCall", + "src": "30575:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "30568:3:21", + "nodeType": "YulIdentifier", + "src": "30568:3:21" + } + ] + }, + { + "nativeSrc": "30601:44:21", + "nodeType": "YulVariableDeclaration", + "src": "30601:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "30619:6:21", + "nodeType": "YulIdentifier", + "src": "30619:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "30631:6:21", + "nodeType": "YulIdentifier", + "src": "30631:6:21" + }, + { + "kind": "number", + "nativeSrc": "30639:4:21", + "nodeType": "YulLiteral", + "src": "30639:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "30627:3:21", + "nodeType": "YulIdentifier", + "src": "30627:3:21" + }, + "nativeSrc": "30627:17:21", + "nodeType": "YulFunctionCall", + "src": "30627:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30615:3:21", + "nodeType": "YulIdentifier", + "src": "30615:3:21" + }, + "nativeSrc": "30615:30:21", + "nodeType": "YulFunctionCall", + "src": "30615:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "30605:6:21", + "nodeType": "YulTypedName", + "src": "30605:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "30673:103:21", + "nodeType": "YulBlock", + "src": "30673:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "30687:77:21", + "nodeType": "YulIdentifier", + "src": "30687:77:21" + }, + "nativeSrc": "30687:79:21", + "nodeType": "YulFunctionCall", + "src": "30687:79:21" + }, + "nativeSrc": "30687:79:21", + "nodeType": "YulExpressionStatement", + "src": "30687:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "30660:6:21", + "nodeType": "YulIdentifier", + "src": "30660:6:21" + }, + { + "name": "end", + "nativeSrc": "30668:3:21", + "nodeType": "YulIdentifier", + "src": "30668:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30657:2:21", + "nodeType": "YulIdentifier", + "src": "30657:2:21" + }, + "nativeSrc": "30657:15:21", + "nodeType": "YulFunctionCall", + "src": "30657:15:21" + }, + "nativeSrc": "30654:122:21", + "nodeType": "YulIf", + "src": "30654:122:21" + }, + { + "body": { + "nativeSrc": "30861:362:21", + "nodeType": "YulBlock", + "src": "30861:362:21", + "statements": [ + { + "nativeSrc": "30876:29:21", + "nodeType": "YulVariableDeclaration", + "src": "30876:29:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30901:3:21", + "nodeType": "YulIdentifier", + "src": "30901:3:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "30895:5:21", + "nodeType": "YulIdentifier", + "src": "30895:5:21" + }, + "nativeSrc": "30895:10:21", + "nodeType": "YulFunctionCall", + "src": "30895:10:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "30880:11:21", + "nodeType": "YulTypedName", + "src": "30880:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "30957:83:21", + "nodeType": "YulBlock", + "src": "30957:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "30959:77:21", + "nodeType": "YulIdentifier", + "src": "30959:77:21" + }, + "nativeSrc": "30959:79:21", + "nodeType": "YulFunctionCall", + "src": "30959:79:21" + }, + "nativeSrc": "30959:79:21", + "nodeType": "YulExpressionStatement", + "src": "30959:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "30924:11:21", + "nodeType": "YulIdentifier", + "src": "30924:11:21" + }, + { + "kind": "number", + "nativeSrc": "30937:18:21", + "nodeType": "YulLiteral", + "src": "30937:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30921:2:21", + "nodeType": "YulIdentifier", + "src": "30921:2:21" + }, + "nativeSrc": "30921:35:21", + "nodeType": "YulFunctionCall", + "src": "30921:35:21" + }, + "nativeSrc": "30918:122:21", + "nodeType": "YulIf", + "src": "30918:122:21" + }, + { + "nativeSrc": "31053:42:21", + "nodeType": "YulVariableDeclaration", + "src": "31053:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31075:6:21", + "nodeType": "YulIdentifier", + "src": "31075:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "31083:11:21", + "nodeType": "YulIdentifier", + "src": "31083:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31071:3:21", + "nodeType": "YulIdentifier", + "src": "31071:3:21" + }, + "nativeSrc": "31071:24:21", + "nodeType": "YulFunctionCall", + "src": "31071:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "31057:10:21", + "nodeType": "YulTypedName", + "src": "31057:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "31116:3:21", + "nodeType": "YulIdentifier", + "src": "31116:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "31162:10:21", + "nodeType": "YulIdentifier", + "src": "31162:10:21" + }, + { + "name": "end", + "nativeSrc": "31174:3:21", + "nodeType": "YulIdentifier", + "src": "31174:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "31121:40:21", + "nodeType": "YulIdentifier", + "src": "31121:40:21" + }, + "nativeSrc": "31121:57:21", + "nodeType": "YulFunctionCall", + "src": "31121:57:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31109:6:21", + "nodeType": "YulIdentifier", + "src": "31109:6:21" + }, + "nativeSrc": "31109:70:21", + "nodeType": "YulFunctionCall", + "src": "31109:70:21" + }, + "nativeSrc": "31109:70:21", + "nodeType": "YulExpressionStatement", + "src": "31109:70:21" + }, + { + "nativeSrc": "31192:21:21", + "nodeType": "YulAssignment", + "src": "31192:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "31203:3:21", + "nodeType": "YulIdentifier", + "src": "31203:3:21" + }, + { + "kind": "number", + "nativeSrc": "31208:4:21", + "nodeType": "YulLiteral", + "src": "31208:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31199:3:21", + "nodeType": "YulIdentifier", + "src": "31199:3:21" + }, + "nativeSrc": "31199:14:21", + "nodeType": "YulFunctionCall", + "src": "31199:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "31192:3:21", + "nodeType": "YulIdentifier", + "src": "31192:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30814:3:21", + "nodeType": "YulIdentifier", + "src": "30814:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "30819:6:21", + "nodeType": "YulIdentifier", + "src": "30819:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "30811:2:21", + "nodeType": "YulIdentifier", + "src": "30811:2:21" + }, + "nativeSrc": "30811:15:21", + "nodeType": "YulFunctionCall", + "src": "30811:15:21" + }, + "nativeSrc": "30785:438:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "30827:25:21", + "nodeType": "YulBlock", + "src": "30827:25:21", + "statements": [ + { + "nativeSrc": "30829:21:21", + "nodeType": "YulAssignment", + "src": "30829:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30840:3:21", + "nodeType": "YulIdentifier", + "src": "30840:3:21" + }, + { + "kind": "number", + "nativeSrc": "30845:4:21", + "nodeType": "YulLiteral", + "src": "30845:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30836:3:21", + "nodeType": "YulIdentifier", + "src": "30836:3:21" + }, + "nativeSrc": "30836:14:21", + "nodeType": "YulFunctionCall", + "src": "30836:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "30829:3:21", + "nodeType": "YulIdentifier", + "src": "30829:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "30789:21:21", + "nodeType": "YulBlock", + "src": "30789:21:21", + "statements": [ + { + "nativeSrc": "30791:17:21", + "nodeType": "YulVariableDeclaration", + "src": "30791:17:21", + "value": { + "name": "offset", + "nativeSrc": "30802:6:21", + "nodeType": "YulIdentifier", + "src": "30802:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "30795:3:21", + "nodeType": "YulTypedName", + "src": "30795:3:21", + "type": "" + } + ] + } + ] + }, + "src": "30785:438:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "30272:957:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "30364:6:21", + "nodeType": "YulTypedName", + "src": "30364:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30372:6:21", + "nodeType": "YulTypedName", + "src": "30372:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "30380:3:21", + "nodeType": "YulTypedName", + "src": "30380:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "30388:5:21", + "nodeType": "YulTypedName", + "src": "30388:5:21", + "type": "" + } + ], + "src": "30272:957:21" + }, + { + "body": { + "nativeSrc": "31347:306:21", + "nodeType": "YulBlock", + "src": "31347:306:21", + "statements": [ + { + "body": { + "nativeSrc": "31396:83:21", + "nodeType": "YulBlock", + "src": "31396:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "31398:77:21", + "nodeType": "YulIdentifier", + "src": "31398:77:21" + }, + "nativeSrc": "31398:79:21", + "nodeType": "YulFunctionCall", + "src": "31398:79:21" + }, + "nativeSrc": "31398:79:21", + "nodeType": "YulExpressionStatement", + "src": "31398:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31375:6:21", + "nodeType": "YulIdentifier", + "src": "31375:6:21" + }, + { + "kind": "number", + "nativeSrc": "31383:4:21", + "nodeType": "YulLiteral", + "src": "31383:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31371:3:21", + "nodeType": "YulIdentifier", + "src": "31371:3:21" + }, + "nativeSrc": "31371:17:21", + "nodeType": "YulFunctionCall", + "src": "31371:17:21" + }, + { + "name": "end", + "nativeSrc": "31390:3:21", + "nodeType": "YulIdentifier", + "src": "31390:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "31367:3:21", + "nodeType": "YulIdentifier", + "src": "31367:3:21" + }, + "nativeSrc": "31367:27:21", + "nodeType": "YulFunctionCall", + "src": "31367:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "31360:6:21", + "nodeType": "YulIdentifier", + "src": "31360:6:21" + }, + "nativeSrc": "31360:35:21", + "nodeType": "YulFunctionCall", + "src": "31360:35:21" + }, + "nativeSrc": "31357:122:21", + "nodeType": "YulIf", + "src": "31357:122:21" + }, + { + "nativeSrc": "31488:27:21", + "nodeType": "YulVariableDeclaration", + "src": "31488:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31508:6:21", + "nodeType": "YulIdentifier", + "src": "31508:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "31502:5:21", + "nodeType": "YulIdentifier", + "src": "31502:5:21" + }, + "nativeSrc": "31502:13:21", + "nodeType": "YulFunctionCall", + "src": "31502:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "31492:6:21", + "nodeType": "YulTypedName", + "src": "31492:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "31524:123:21", + "nodeType": "YulAssignment", + "src": "31524:123:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31620:6:21", + "nodeType": "YulIdentifier", + "src": "31620:6:21" + }, + { + "kind": "number", + "nativeSrc": "31628:4:21", + "nodeType": "YulLiteral", + "src": "31628:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31616:3:21", + "nodeType": "YulIdentifier", + "src": "31616:3:21" + }, + "nativeSrc": "31616:17:21", + "nodeType": "YulFunctionCall", + "src": "31616:17:21" + }, + { + "name": "length", + "nativeSrc": "31635:6:21", + "nodeType": "YulIdentifier", + "src": "31635:6:21" + }, + { + "name": "end", + "nativeSrc": "31643:3:21", + "nodeType": "YulIdentifier", + "src": "31643:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31533:82:21", + "nodeType": "YulIdentifier", + "src": "31533:82:21" + }, + "nativeSrc": "31533:114:21", + "nodeType": "YulFunctionCall", + "src": "31533:114:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "31524:5:21", + "nodeType": "YulIdentifier", + "src": "31524:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31250:403:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "31325:6:21", + "nodeType": "YulTypedName", + "src": "31325:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "31333:3:21", + "nodeType": "YulTypedName", + "src": "31333:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "31341:5:21", + "nodeType": "YulTypedName", + "src": "31341:5:21", + "type": "" + } + ], + "src": "31250:403:21" + }, + { + "body": { + "nativeSrc": "31770:461:21", + "nodeType": "YulBlock", + "src": "31770:461:21", + "statements": [ + { + "body": { + "nativeSrc": "31816:83:21", + "nodeType": "YulBlock", + "src": "31816:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "31818:77:21", + "nodeType": "YulIdentifier", + "src": "31818:77:21" + }, + "nativeSrc": "31818:79:21", + "nodeType": "YulFunctionCall", + "src": "31818:79:21" + }, + "nativeSrc": "31818:79:21", + "nodeType": "YulExpressionStatement", + "src": "31818:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "31791:7:21", + "nodeType": "YulIdentifier", + "src": "31791:7:21" + }, + { + "name": "headStart", + "nativeSrc": "31800:9:21", + "nodeType": "YulIdentifier", + "src": "31800:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31787:3:21", + "nodeType": "YulIdentifier", + "src": "31787:3:21" + }, + "nativeSrc": "31787:23:21", + "nodeType": "YulFunctionCall", + "src": "31787:23:21" + }, + { + "kind": "number", + "nativeSrc": "31812:2:21", + "nodeType": "YulLiteral", + "src": "31812:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "31783:3:21", + "nodeType": "YulIdentifier", + "src": "31783:3:21" + }, + "nativeSrc": "31783:32:21", + "nodeType": "YulFunctionCall", + "src": "31783:32:21" + }, + "nativeSrc": "31780:119:21", + "nodeType": "YulIf", + "src": "31780:119:21" + }, + { + "nativeSrc": "31909:315:21", + "nodeType": "YulBlock", + "src": "31909:315:21", + "statements": [ + { + "nativeSrc": "31924:38:21", + "nodeType": "YulVariableDeclaration", + "src": "31924:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31948:9:21", + "nodeType": "YulIdentifier", + "src": "31948:9:21" + }, + { + "kind": "number", + "nativeSrc": "31959:1:21", + "nodeType": "YulLiteral", + "src": "31959:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31944:3:21", + "nodeType": "YulIdentifier", + "src": "31944:3:21" + }, + "nativeSrc": "31944:17:21", + "nodeType": "YulFunctionCall", + "src": "31944:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "31938:5:21", + "nodeType": "YulIdentifier", + "src": "31938:5:21" + }, + "nativeSrc": "31938:24:21", + "nodeType": "YulFunctionCall", + "src": "31938:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "31928:6:21", + "nodeType": "YulTypedName", + "src": "31928:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "32009:83:21", + "nodeType": "YulBlock", + "src": "32009:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "32011:77:21", + "nodeType": "YulIdentifier", + "src": "32011:77:21" + }, + "nativeSrc": "32011:79:21", + "nodeType": "YulFunctionCall", + "src": "32011:79:21" + }, + "nativeSrc": "32011:79:21", + "nodeType": "YulExpressionStatement", + "src": "32011:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31981:6:21", + "nodeType": "YulIdentifier", + "src": "31981:6:21" + }, + { + "kind": "number", + "nativeSrc": "31989:18:21", + "nodeType": "YulLiteral", + "src": "31989:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "31978:2:21", + "nodeType": "YulIdentifier", + "src": "31978:2:21" + }, + "nativeSrc": "31978:30:21", + "nodeType": "YulFunctionCall", + "src": "31978:30:21" + }, + "nativeSrc": "31975:117:21", + "nodeType": "YulIf", + "src": "31975:117:21" + }, + { + "nativeSrc": "32106:108:21", + "nodeType": "YulAssignment", + "src": "32106:108:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32186:9:21", + "nodeType": "YulIdentifier", + "src": "32186:9:21" + }, + { + "name": "offset", + "nativeSrc": "32197:6:21", + "nodeType": "YulIdentifier", + "src": "32197:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32182:3:21", + "nodeType": "YulIdentifier", + "src": "32182:3:21" + }, + "nativeSrc": "32182:22:21", + "nodeType": "YulFunctionCall", + "src": "32182:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "32206:7:21", + "nodeType": "YulIdentifier", + "src": "32206:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "32116:65:21", + "nodeType": "YulIdentifier", + "src": "32116:65:21" + }, + "nativeSrc": "32116:98:21", + "nodeType": "YulFunctionCall", + "src": "32116:98:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "32106:6:21", + "nodeType": "YulIdentifier", + "src": "32106:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31659:572:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "31740:9:21", + "nodeType": "YulTypedName", + "src": "31740:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "31751:7:21", + "nodeType": "YulTypedName", + "src": "31751:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "31763:6:21", + "nodeType": "YulTypedName", + "src": "31763:6:21", + "type": "" + } + ], + "src": "31659:572:21" + }, + { + "body": { + "nativeSrc": "32363:206:21", + "nodeType": "YulBlock", + "src": "32363:206:21", + "statements": [ + { + "nativeSrc": "32373:26:21", + "nodeType": "YulAssignment", + "src": "32373:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32385:9:21", + "nodeType": "YulIdentifier", + "src": "32385:9:21" + }, + { + "kind": "number", + "nativeSrc": "32396:2:21", + "nodeType": "YulLiteral", + "src": "32396:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32381:3:21", + "nodeType": "YulIdentifier", + "src": "32381:3:21" + }, + "nativeSrc": "32381:18:21", + "nodeType": "YulFunctionCall", + "src": "32381:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32373:4:21", + "nodeType": "YulIdentifier", + "src": "32373:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "32453:6:21", + "nodeType": "YulIdentifier", + "src": "32453:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32466:9:21", + "nodeType": "YulIdentifier", + "src": "32466:9:21" + }, + { + "kind": "number", + "nativeSrc": "32477:1:21", + "nodeType": "YulLiteral", + "src": "32477:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32462:3:21", + "nodeType": "YulIdentifier", + "src": "32462:3:21" + }, + "nativeSrc": "32462:17:21", + "nodeType": "YulFunctionCall", + "src": "32462:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "32409:43:21", + "nodeType": "YulIdentifier", + "src": "32409:43:21" + }, + "nativeSrc": "32409:71:21", + "nodeType": "YulFunctionCall", + "src": "32409:71:21" + }, + "nativeSrc": "32409:71:21", + "nodeType": "YulExpressionStatement", + "src": "32409:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "32534:6:21", + "nodeType": "YulIdentifier", + "src": "32534:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32547:9:21", + "nodeType": "YulIdentifier", + "src": "32547:9:21" + }, + { + "kind": "number", + "nativeSrc": "32558:2:21", + "nodeType": "YulLiteral", + "src": "32558:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32543:3:21", + "nodeType": "YulIdentifier", + "src": "32543:3:21" + }, + "nativeSrc": "32543:18:21", + "nodeType": "YulFunctionCall", + "src": "32543:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "32490:43:21", + "nodeType": "YulIdentifier", + "src": "32490:43:21" + }, + "nativeSrc": "32490:72:21", + "nodeType": "YulFunctionCall", + "src": "32490:72:21" + }, + "nativeSrc": "32490:72:21", + "nodeType": "YulExpressionStatement", + "src": "32490:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "32237:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32327:9:21", + "nodeType": "YulTypedName", + "src": "32327:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "32339:6:21", + "nodeType": "YulTypedName", + "src": "32339:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "32347:6:21", + "nodeType": "YulTypedName", + "src": "32347:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32358:4:21", + "nodeType": "YulTypedName", + "src": "32358:4:21", + "type": "" + } + ], + "src": "32237:332:21" + }, + { + "body": { + "nativeSrc": "32787:394:21", + "nodeType": "YulBlock", + "src": "32787:394:21", + "statements": [ + { + "nativeSrc": "32797:26:21", + "nodeType": "YulAssignment", + "src": "32797:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32809:9:21", + "nodeType": "YulIdentifier", + "src": "32809:9:21" + }, + { + "kind": "number", + "nativeSrc": "32820:2:21", + "nodeType": "YulLiteral", + "src": "32820:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32805:3:21", + "nodeType": "YulIdentifier", + "src": "32805:3:21" + }, + "nativeSrc": "32805:18:21", + "nodeType": "YulFunctionCall", + "src": "32805:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32797:4:21", + "nodeType": "YulIdentifier", + "src": "32797:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32844:9:21", + "nodeType": "YulIdentifier", + "src": "32844:9:21" + }, + { + "kind": "number", + "nativeSrc": "32855:1:21", + "nodeType": "YulLiteral", + "src": "32855:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32840:3:21", + "nodeType": "YulIdentifier", + "src": "32840:3:21" + }, + "nativeSrc": "32840:17:21", + "nodeType": "YulFunctionCall", + "src": "32840:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32863:4:21", + "nodeType": "YulIdentifier", + "src": "32863:4:21" + }, + { + "name": "headStart", + "nativeSrc": "32869:9:21", + "nodeType": "YulIdentifier", + "src": "32869:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "32859:3:21", + "nodeType": "YulIdentifier", + "src": "32859:3:21" + }, + "nativeSrc": "32859:20:21", + "nodeType": "YulFunctionCall", + "src": "32859:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "32833:6:21", + "nodeType": "YulIdentifier", + "src": "32833:6:21" + }, + "nativeSrc": "32833:47:21", + "nodeType": "YulFunctionCall", + "src": "32833:47:21" + }, + "nativeSrc": "32833:47:21", + "nodeType": "YulExpressionStatement", + "src": "32833:47:21" + }, + { + "nativeSrc": "32889:134:21", + "nodeType": "YulAssignment", + "src": "32889:134:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "33009:6:21", + "nodeType": "YulIdentifier", + "src": "33009:6:21" + }, + { + "name": "tail", + "nativeSrc": "33018:4:21", + "nodeType": "YulIdentifier", + "src": "33018:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "32897:111:21", + "nodeType": "YulIdentifier", + "src": "32897:111:21" + }, + "nativeSrc": "32897:126:21", + "nodeType": "YulFunctionCall", + "src": "32897:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32889:4:21", + "nodeType": "YulIdentifier", + "src": "32889:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33044:9:21", + "nodeType": "YulIdentifier", + "src": "33044:9:21" + }, + { + "kind": "number", + "nativeSrc": "33055:2:21", + "nodeType": "YulLiteral", + "src": "33055:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33040:3:21", + "nodeType": "YulIdentifier", + "src": "33040:3:21" + }, + "nativeSrc": "33040:18:21", + "nodeType": "YulFunctionCall", + "src": "33040:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "33064:4:21", + "nodeType": "YulIdentifier", + "src": "33064:4:21" + }, + { + "name": "headStart", + "nativeSrc": "33070:9:21", + "nodeType": "YulIdentifier", + "src": "33070:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "33060:3:21", + "nodeType": "YulIdentifier", + "src": "33060:3:21" + }, + "nativeSrc": "33060:20:21", + "nodeType": "YulFunctionCall", + "src": "33060:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33033:6:21", + "nodeType": "YulIdentifier", + "src": "33033:6:21" + }, + "nativeSrc": "33033:48:21", + "nodeType": "YulFunctionCall", + "src": "33033:48:21" + }, + "nativeSrc": "33033:48:21", + "nodeType": "YulExpressionStatement", + "src": "33033:48:21" + }, + { + "nativeSrc": "33090:84:21", + "nodeType": "YulAssignment", + "src": "33090:84:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "33160:6:21", + "nodeType": "YulIdentifier", + "src": "33160:6:21" + }, + { + "name": "tail", + "nativeSrc": "33169:4:21", + "nodeType": "YulIdentifier", + "src": "33169:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "33098:61:21", + "nodeType": "YulIdentifier", + "src": "33098:61:21" + }, + "nativeSrc": "33098:76:21", + "nodeType": "YulFunctionCall", + "src": "33098:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "33090:4:21", + "nodeType": "YulIdentifier", + "src": "33090:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "32575:606:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32751:9:21", + "nodeType": "YulTypedName", + "src": "32751:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "32763:6:21", + "nodeType": "YulTypedName", + "src": "32763:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "32771:6:21", + "nodeType": "YulTypedName", + "src": "32771:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32782:4:21", + "nodeType": "YulTypedName", + "src": "32782:4:21", + "type": "" + } + ], + "src": "32575:606:21" + }, + { + "body": { + "nativeSrc": "33293:64:21", + "nodeType": "YulBlock", + "src": "33293:64:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "33315:6:21", + "nodeType": "YulIdentifier", + "src": "33315:6:21" + }, + { + "kind": "number", + "nativeSrc": "33323:1:21", + "nodeType": "YulLiteral", + "src": "33323:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33311:3:21", + "nodeType": "YulIdentifier", + "src": "33311:3:21" + }, + "nativeSrc": "33311:14:21", + "nodeType": "YulFunctionCall", + "src": "33311:14:21" + }, + { + "hexValue": "706172616d206461746120746f6f2073686f7274", + "kind": "string", + "nativeSrc": "33327:22:21", + "nodeType": "YulLiteral", + "src": "33327:22:21", + "type": "", + "value": "param data too short" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33304:6:21", + "nodeType": "YulIdentifier", + "src": "33304:6:21" + }, + "nativeSrc": "33304:46:21", + "nodeType": "YulFunctionCall", + "src": "33304:46:21" + }, + "nativeSrc": "33304:46:21", + "nodeType": "YulExpressionStatement", + "src": "33304:46:21" + } + ] + }, + "name": "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "nativeSrc": "33187:170:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "33285:6:21", + "nodeType": "YulTypedName", + "src": "33285:6:21", + "type": "" + } + ], + "src": "33187:170:21" + }, + { + "body": { + "nativeSrc": "33509:220:21", + "nodeType": "YulBlock", + "src": "33509:220:21", + "statements": [ + { + "nativeSrc": "33519:74:21", + "nodeType": "YulAssignment", + "src": "33519:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33585:3:21", + "nodeType": "YulIdentifier", + "src": "33585:3:21" + }, + { + "kind": "number", + "nativeSrc": "33590:2:21", + "nodeType": "YulLiteral", + "src": "33590:2:21", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "33526:58:21", + "nodeType": "YulIdentifier", + "src": "33526:58:21" + }, + "nativeSrc": "33526:67:21", + "nodeType": "YulFunctionCall", + "src": "33526:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "33519:3:21", + "nodeType": "YulIdentifier", + "src": "33519:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33691:3:21", + "nodeType": "YulIdentifier", + "src": "33691:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "nativeSrc": "33602:88:21", + "nodeType": "YulIdentifier", + "src": "33602:88:21" + }, + "nativeSrc": "33602:93:21", + "nodeType": "YulFunctionCall", + "src": "33602:93:21" + }, + "nativeSrc": "33602:93:21", + "nodeType": "YulExpressionStatement", + "src": "33602:93:21" + }, + { + "nativeSrc": "33704:19:21", + "nodeType": "YulAssignment", + "src": "33704:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33715:3:21", + "nodeType": "YulIdentifier", + "src": "33715:3:21" + }, + { + "kind": "number", + "nativeSrc": "33720:2:21", + "nodeType": "YulLiteral", + "src": "33720:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33711:3:21", + "nodeType": "YulIdentifier", + "src": "33711:3:21" + }, + "nativeSrc": "33711:12:21", + "nodeType": "YulFunctionCall", + "src": "33711:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "33704:3:21", + "nodeType": "YulIdentifier", + "src": "33704:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "33363:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "33497:3:21", + "nodeType": "YulTypedName", + "src": "33497:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "33505:3:21", + "nodeType": "YulTypedName", + "src": "33505:3:21", + "type": "" + } + ], + "src": "33363:366:21" + }, + { + "body": { + "nativeSrc": "33906:248:21", + "nodeType": "YulBlock", + "src": "33906:248:21", + "statements": [ + { + "nativeSrc": "33916:26:21", + "nodeType": "YulAssignment", + "src": "33916:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33928:9:21", + "nodeType": "YulIdentifier", + "src": "33928:9:21" + }, + { + "kind": "number", + "nativeSrc": "33939:2:21", + "nodeType": "YulLiteral", + "src": "33939:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33924:3:21", + "nodeType": "YulIdentifier", + "src": "33924:3:21" + }, + "nativeSrc": "33924:18:21", + "nodeType": "YulFunctionCall", + "src": "33924:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "33916:4:21", + "nodeType": "YulIdentifier", + "src": "33916:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33963:9:21", + "nodeType": "YulIdentifier", + "src": "33963:9:21" + }, + { + "kind": "number", + "nativeSrc": "33974:1:21", + "nodeType": "YulLiteral", + "src": "33974:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33959:3:21", + "nodeType": "YulIdentifier", + "src": "33959:3:21" + }, + "nativeSrc": "33959:17:21", + "nodeType": "YulFunctionCall", + "src": "33959:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "33982:4:21", + "nodeType": "YulIdentifier", + "src": "33982:4:21" + }, + { + "name": "headStart", + "nativeSrc": "33988:9:21", + "nodeType": "YulIdentifier", + "src": "33988:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "33978:3:21", + "nodeType": "YulIdentifier", + "src": "33978:3:21" + }, + "nativeSrc": "33978:20:21", + "nodeType": "YulFunctionCall", + "src": "33978:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33952:6:21", + "nodeType": "YulIdentifier", + "src": "33952:6:21" + }, + "nativeSrc": "33952:47:21", + "nodeType": "YulFunctionCall", + "src": "33952:47:21" + }, + "nativeSrc": "33952:47:21", + "nodeType": "YulExpressionStatement", + "src": "33952:47:21" + }, + { + "nativeSrc": "34008:139:21", + "nodeType": "YulAssignment", + "src": "34008:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "34142:4:21", + "nodeType": "YulIdentifier", + "src": "34142:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "34016:124:21", + "nodeType": "YulIdentifier", + "src": "34016:124:21" + }, + "nativeSrc": "34016:131:21", + "nodeType": "YulFunctionCall", + "src": "34016:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "34008:4:21", + "nodeType": "YulIdentifier", + "src": "34008:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "33735:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "33886:9:21", + "nodeType": "YulTypedName", + "src": "33886:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "33901:4:21", + "nodeType": "YulTypedName", + "src": "33901:4:21", + "type": "" + } + ], + "src": "33735:419:21" + }, + { + "body": { + "nativeSrc": "34249:28:21", + "nodeType": "YulBlock", + "src": "34249:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "34266:1:21", + "nodeType": "YulLiteral", + "src": "34266:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "34269:1:21", + "nodeType": "YulLiteral", + "src": "34269:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "34259:6:21", + "nodeType": "YulIdentifier", + "src": "34259:6:21" + }, + "nativeSrc": "34259:12:21", + "nodeType": "YulFunctionCall", + "src": "34259:12:21" + }, + "nativeSrc": "34259:12:21", + "nodeType": "YulExpressionStatement", + "src": "34259:12:21" + } + ] + }, + "name": "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a", + "nativeSrc": "34160:117:21", + "nodeType": "YulFunctionDefinition", + "src": "34160:117:21" + }, + { + "body": { + "nativeSrc": "34372:28:21", + "nodeType": "YulBlock", + "src": "34372:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "34389:1:21", + "nodeType": "YulLiteral", + "src": "34389:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "34392:1:21", + "nodeType": "YulLiteral", + "src": "34392:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "34382:6:21", + "nodeType": "YulIdentifier", + "src": "34382:6:21" + }, + "nativeSrc": "34382:12:21", + "nodeType": "YulFunctionCall", + "src": "34382:12:21" + }, + "nativeSrc": "34382:12:21", + "nodeType": "YulExpressionStatement", + "src": "34382:12:21" + } + ] + }, + "name": "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c", + "nativeSrc": "34283:117:21", + "nodeType": "YulFunctionDefinition", + "src": "34283:117:21" + }, + { + "body": { + "nativeSrc": "34532:343:21", + "nodeType": "YulBlock", + "src": "34532:343:21", + "statements": [ + { + "body": { + "nativeSrc": "34570:83:21", + "nodeType": "YulBlock", + "src": "34570:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a", + "nativeSrc": "34572:77:21", + "nodeType": "YulIdentifier", + "src": "34572:77:21" + }, + "nativeSrc": "34572:79:21", + "nodeType": "YulFunctionCall", + "src": "34572:79:21" + }, + "nativeSrc": "34572:79:21", + "nodeType": "YulExpressionStatement", + "src": "34572:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "34548:10:21", + "nodeType": "YulIdentifier", + "src": "34548:10:21" + }, + { + "name": "endIndex", + "nativeSrc": "34560:8:21", + "nodeType": "YulIdentifier", + "src": "34560:8:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "34545:2:21", + "nodeType": "YulIdentifier", + "src": "34545:2:21" + }, + "nativeSrc": "34545:24:21", + "nodeType": "YulFunctionCall", + "src": "34545:24:21" + }, + "nativeSrc": "34542:111:21", + "nodeType": "YulIf", + "src": "34542:111:21" + }, + { + "body": { + "nativeSrc": "34686:83:21", + "nodeType": "YulBlock", + "src": "34686:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c", + "nativeSrc": "34688:77:21", + "nodeType": "YulIdentifier", + "src": "34688:77:21" + }, + "nativeSrc": "34688:79:21", + "nodeType": "YulFunctionCall", + "src": "34688:79:21" + }, + "nativeSrc": "34688:79:21", + "nodeType": "YulExpressionStatement", + "src": "34688:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "endIndex", + "nativeSrc": "34668:8:21", + "nodeType": "YulIdentifier", + "src": "34668:8:21" + }, + { + "name": "length", + "nativeSrc": "34678:6:21", + "nodeType": "YulIdentifier", + "src": "34678:6:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "34665:2:21", + "nodeType": "YulIdentifier", + "src": "34665:2:21" + }, + "nativeSrc": "34665:20:21", + "nodeType": "YulFunctionCall", + "src": "34665:20:21" + }, + "nativeSrc": "34662:107:21", + "nodeType": "YulIf", + "src": "34662:107:21" + }, + { + "nativeSrc": "34778:44:21", + "nodeType": "YulAssignment", + "src": "34778:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "34795:6:21", + "nodeType": "YulIdentifier", + "src": "34795:6:21" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "34807:10:21", + "nodeType": "YulIdentifier", + "src": "34807:10:21" + }, + { + "kind": "number", + "nativeSrc": "34819:1:21", + "nodeType": "YulLiteral", + "src": "34819:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "34803:3:21", + "nodeType": "YulIdentifier", + "src": "34803:3:21" + }, + "nativeSrc": "34803:18:21", + "nodeType": "YulFunctionCall", + "src": "34803:18:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "34791:3:21", + "nodeType": "YulIdentifier", + "src": "34791:3:21" + }, + "nativeSrc": "34791:31:21", + "nodeType": "YulFunctionCall", + "src": "34791:31:21" + }, + "variableNames": [ + { + "name": "offsetOut", + "nativeSrc": "34778:9:21", + "nodeType": "YulIdentifier", + "src": "34778:9:21" + } + ] + }, + { + "nativeSrc": "34831:38:21", + "nodeType": "YulAssignment", + "src": "34831:38:21", + "value": { + "arguments": [ + { + "name": "endIndex", + "nativeSrc": "34848:8:21", + "nodeType": "YulIdentifier", + "src": "34848:8:21" + }, + { + "name": "startIndex", + "nativeSrc": "34858:10:21", + "nodeType": "YulIdentifier", + "src": "34858:10:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "34844:3:21", + "nodeType": "YulIdentifier", + "src": "34844:3:21" + }, + "nativeSrc": "34844:25:21", + "nodeType": "YulFunctionCall", + "src": "34844:25:21" + }, + "variableNames": [ + { + "name": "lengthOut", + "nativeSrc": "34831:9:21", + "nodeType": "YulIdentifier", + "src": "34831:9:21" + } + ] + } + ] + }, + "name": "calldata_array_index_range_access_t_bytes_calldata_ptr", + "nativeSrc": "34406:469:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "34470:6:21", + "nodeType": "YulTypedName", + "src": "34470:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "34478:6:21", + "nodeType": "YulTypedName", + "src": "34478:6:21", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "34486:10:21", + "nodeType": "YulTypedName", + "src": "34486:10:21", + "type": "" + }, + { + "name": "endIndex", + "nativeSrc": "34498:8:21", + "nodeType": "YulTypedName", + "src": "34498:8:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "offsetOut", + "nativeSrc": "34511:9:21", + "nodeType": "YulTypedName", + "src": "34511:9:21", + "type": "" + }, + { + "name": "lengthOut", + "nativeSrc": "34522:9:21", + "nodeType": "YulTypedName", + "src": "34522:9:21", + "type": "" + } + ], + "src": "34406:469:21" + }, + { + "body": { + "nativeSrc": "34947:263:21", + "nodeType": "YulBlock", + "src": "34947:263:21", + "statements": [ + { + "body": { + "nativeSrc": "34993:83:21", + "nodeType": "YulBlock", + "src": "34993:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "34995:77:21", + "nodeType": "YulIdentifier", + "src": "34995:77:21" + }, + "nativeSrc": "34995:79:21", + "nodeType": "YulFunctionCall", + "src": "34995:79:21" + }, + "nativeSrc": "34995:79:21", + "nodeType": "YulExpressionStatement", + "src": "34995:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "34968:7:21", + "nodeType": "YulIdentifier", + "src": "34968:7:21" + }, + { + "name": "headStart", + "nativeSrc": "34977:9:21", + "nodeType": "YulIdentifier", + "src": "34977:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "34964:3:21", + "nodeType": "YulIdentifier", + "src": "34964:3:21" + }, + "nativeSrc": "34964:23:21", + "nodeType": "YulFunctionCall", + "src": "34964:23:21" + }, + { + "kind": "number", + "nativeSrc": "34989:2:21", + "nodeType": "YulLiteral", + "src": "34989:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "34960:3:21", + "nodeType": "YulIdentifier", + "src": "34960:3:21" + }, + "nativeSrc": "34960:32:21", + "nodeType": "YulFunctionCall", + "src": "34960:32:21" + }, + "nativeSrc": "34957:119:21", + "nodeType": "YulIf", + "src": "34957:119:21" + }, + { + "nativeSrc": "35086:117:21", + "nodeType": "YulBlock", + "src": "35086:117:21", + "statements": [ + { + "nativeSrc": "35101:15:21", + "nodeType": "YulVariableDeclaration", + "src": "35101:15:21", + "value": { + "kind": "number", + "nativeSrc": "35115:1:21", + "nodeType": "YulLiteral", + "src": "35115:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "35105:6:21", + "nodeType": "YulTypedName", + "src": "35105:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "35130:63:21", + "nodeType": "YulAssignment", + "src": "35130:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35165:9:21", + "nodeType": "YulIdentifier", + "src": "35165:9:21" + }, + { + "name": "offset", + "nativeSrc": "35176:6:21", + "nodeType": "YulIdentifier", + "src": "35176:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35161:3:21", + "nodeType": "YulIdentifier", + "src": "35161:3:21" + }, + "nativeSrc": "35161:22:21", + "nodeType": "YulFunctionCall", + "src": "35161:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "35185:7:21", + "nodeType": "YulIdentifier", + "src": "35185:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "35140:20:21", + "nodeType": "YulIdentifier", + "src": "35140:20:21" + }, + "nativeSrc": "35140:53:21", + "nodeType": "YulFunctionCall", + "src": "35140:53:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "35130:6:21", + "nodeType": "YulIdentifier", + "src": "35130:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nativeSrc": "34881:329:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "34917:9:21", + "nodeType": "YulTypedName", + "src": "34917:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "34928:7:21", + "nodeType": "YulTypedName", + "src": "34928:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "34940:6:21", + "nodeType": "YulTypedName", + "src": "34940:6:21", + "type": "" + } + ], + "src": "34881:329:21" + }, + { + "body": { + "nativeSrc": "35322:69:21", + "nodeType": "YulBlock", + "src": "35322:69:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "35344:6:21", + "nodeType": "YulIdentifier", + "src": "35344:6:21" + }, + { + "kind": "number", + "nativeSrc": "35352:1:21", + "nodeType": "YulLiteral", + "src": "35352:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35340:3:21", + "nodeType": "YulIdentifier", + "src": "35340:3:21" + }, + "nativeSrc": "35340:14:21", + "nodeType": "YulFunctionCall", + "src": "35340:14:21" + }, + { + "hexValue": "546f6f206d616e7920737562646f6d61696e206c6576656c73", + "kind": "string", + "nativeSrc": "35356:27:21", + "nodeType": "YulLiteral", + "src": "35356:27:21", + "type": "", + "value": "Too many subdomain levels" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "35333:6:21", + "nodeType": "YulIdentifier", + "src": "35333:6:21" + }, + "nativeSrc": "35333:51:21", + "nodeType": "YulFunctionCall", + "src": "35333:51:21" + }, + "nativeSrc": "35333:51:21", + "nodeType": "YulExpressionStatement", + "src": "35333:51:21" + } + ] + }, + "name": "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "nativeSrc": "35216:175:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "35314:6:21", + "nodeType": "YulTypedName", + "src": "35314:6:21", + "type": "" + } + ], + "src": "35216:175:21" + }, + { + "body": { + "nativeSrc": "35543:220:21", + "nodeType": "YulBlock", + "src": "35543:220:21", + "statements": [ + { + "nativeSrc": "35553:74:21", + "nodeType": "YulAssignment", + "src": "35553:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35619:3:21", + "nodeType": "YulIdentifier", + "src": "35619:3:21" + }, + { + "kind": "number", + "nativeSrc": "35624:2:21", + "nodeType": "YulLiteral", + "src": "35624:2:21", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "35560:58:21", + "nodeType": "YulIdentifier", + "src": "35560:58:21" + }, + "nativeSrc": "35560:67:21", + "nodeType": "YulFunctionCall", + "src": "35560:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "35553:3:21", + "nodeType": "YulIdentifier", + "src": "35553:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35725:3:21", + "nodeType": "YulIdentifier", + "src": "35725:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "nativeSrc": "35636:88:21", + "nodeType": "YulIdentifier", + "src": "35636:88:21" + }, + "nativeSrc": "35636:93:21", + "nodeType": "YulFunctionCall", + "src": "35636:93:21" + }, + "nativeSrc": "35636:93:21", + "nodeType": "YulExpressionStatement", + "src": "35636:93:21" + }, + { + "nativeSrc": "35738:19:21", + "nodeType": "YulAssignment", + "src": "35738:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35749:3:21", + "nodeType": "YulIdentifier", + "src": "35749:3:21" + }, + { + "kind": "number", + "nativeSrc": "35754:2:21", + "nodeType": "YulLiteral", + "src": "35754:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35745:3:21", + "nodeType": "YulIdentifier", + "src": "35745:3:21" + }, + "nativeSrc": "35745:12:21", + "nodeType": "YulFunctionCall", + "src": "35745:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "35738:3:21", + "nodeType": "YulIdentifier", + "src": "35738:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "35397:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "35531:3:21", + "nodeType": "YulTypedName", + "src": "35531:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "35539:3:21", + "nodeType": "YulTypedName", + "src": "35539:3:21", + "type": "" + } + ], + "src": "35397:366:21" + }, + { + "body": { + "nativeSrc": "35940:248:21", + "nodeType": "YulBlock", + "src": "35940:248:21", + "statements": [ + { + "nativeSrc": "35950:26:21", + "nodeType": "YulAssignment", + "src": "35950:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35962:9:21", + "nodeType": "YulIdentifier", + "src": "35962:9:21" + }, + { + "kind": "number", + "nativeSrc": "35973:2:21", + "nodeType": "YulLiteral", + "src": "35973:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35958:3:21", + "nodeType": "YulIdentifier", + "src": "35958:3:21" + }, + "nativeSrc": "35958:18:21", + "nodeType": "YulFunctionCall", + "src": "35958:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "35950:4:21", + "nodeType": "YulIdentifier", + "src": "35950:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35997:9:21", + "nodeType": "YulIdentifier", + "src": "35997:9:21" + }, + { + "kind": "number", + "nativeSrc": "36008:1:21", + "nodeType": "YulLiteral", + "src": "36008:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35993:3:21", + "nodeType": "YulIdentifier", + "src": "35993:3:21" + }, + "nativeSrc": "35993:17:21", + "nodeType": "YulFunctionCall", + "src": "35993:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "36016:4:21", + "nodeType": "YulIdentifier", + "src": "36016:4:21" + }, + { + "name": "headStart", + "nativeSrc": "36022:9:21", + "nodeType": "YulIdentifier", + "src": "36022:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "36012:3:21", + "nodeType": "YulIdentifier", + "src": "36012:3:21" + }, + "nativeSrc": "36012:20:21", + "nodeType": "YulFunctionCall", + "src": "36012:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "35986:6:21", + "nodeType": "YulIdentifier", + "src": "35986:6:21" + }, + "nativeSrc": "35986:47:21", + "nodeType": "YulFunctionCall", + "src": "35986:47:21" + }, + "nativeSrc": "35986:47:21", + "nodeType": "YulExpressionStatement", + "src": "35986:47:21" + }, + { + "nativeSrc": "36042:139:21", + "nodeType": "YulAssignment", + "src": "36042:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "36176:4:21", + "nodeType": "YulIdentifier", + "src": "36176:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "36050:124:21", + "nodeType": "YulIdentifier", + "src": "36050:124:21" + }, + "nativeSrc": "36050:131:21", + "nodeType": "YulFunctionCall", + "src": "36050:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "36042:4:21", + "nodeType": "YulIdentifier", + "src": "36042:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "35769:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "35920:9:21", + "nodeType": "YulTypedName", + "src": "35920:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "35935:4:21", + "nodeType": "YulTypedName", + "src": "35935:4:21", + "type": "" + } + ], + "src": "35769:419:21" + }, + { + "body": { + "nativeSrc": "36259:31:21", + "nodeType": "YulBlock", + "src": "36259:31:21", + "statements": [ + { + "nativeSrc": "36270:13:21", + "nodeType": "YulAssignment", + "src": "36270:13:21", + "value": { + "name": "len", + "nativeSrc": "36280:3:21", + "nodeType": "YulIdentifier", + "src": "36280:3:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "36270:6:21", + "nodeType": "YulIdentifier", + "src": "36270:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_calldata_ptr", + "nativeSrc": "36194:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "36237:5:21", + "nodeType": "YulTypedName", + "src": "36237:5:21", + "type": "" + }, + { + "name": "len", + "nativeSrc": "36244:3:21", + "nodeType": "YulTypedName", + "src": "36244:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "36252:6:21", + "nodeType": "YulTypedName", + "src": "36252:6:21", + "type": "" + } + ], + "src": "36194:96:21" + }, + { + "body": { + "nativeSrc": "36354:28:21", + "nodeType": "YulBlock", + "src": "36354:28:21", + "statements": [ + { + "nativeSrc": "36364:11:21", + "nodeType": "YulAssignment", + "src": "36364:11:21", + "value": { + "name": "ptr", + "nativeSrc": "36372:3:21", + "nodeType": "YulIdentifier", + "src": "36372:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "36364:4:21", + "nodeType": "YulIdentifier", + "src": "36364:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_bytes_calldata_ptr", + "nativeSrc": "36296:86:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "36341:3:21", + "nodeType": "YulTypedName", + "src": "36341:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "36349:4:21", + "nodeType": "YulTypedName", + "src": "36349:4:21", + "type": "" + } + ], + "src": "36296:86:21" + }, + { + "body": { + "nativeSrc": "36441:54:21", + "nodeType": "YulBlock", + "src": "36441:54:21", + "statements": [ + { + "nativeSrc": "36451:37:21", + "nodeType": "YulAssignment", + "src": "36451:37:21", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "36476:4:21", + "nodeType": "YulIdentifier", + "src": "36476:4:21" + }, + { + "name": "value", + "nativeSrc": "36482:5:21", + "nodeType": "YulIdentifier", + "src": "36482:5:21" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "36472:3:21", + "nodeType": "YulIdentifier", + "src": "36472:3:21" + }, + "nativeSrc": "36472:16:21", + "nodeType": "YulFunctionCall", + "src": "36472:16:21" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "36451:8:21", + "nodeType": "YulIdentifier", + "src": "36451:8:21" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "36388:107:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "36416:4:21", + "nodeType": "YulTypedName", + "src": "36416:4:21", + "type": "" + }, + { + "name": "value", + "nativeSrc": "36422:5:21", + "nodeType": "YulTypedName", + "src": "36422:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "36432:8:21", + "nodeType": "YulTypedName", + "src": "36432:8:21", + "type": "" + } + ], + "src": "36388:107:21" + }, + { + "body": { + "nativeSrc": "36597:452:21", + "nodeType": "YulBlock", + "src": "36597:452:21", + "statements": [ + { + "nativeSrc": "36608:59:21", + "nodeType": "YulVariableDeclaration", + "src": "36608:59:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "36656:5:21", + "nodeType": "YulIdentifier", + "src": "36656:5:21" + }, + { + "name": "len", + "nativeSrc": "36663:3:21", + "nodeType": "YulIdentifier", + "src": "36663:3:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_calldata_ptr", + "nativeSrc": "36622:33:21", + "nodeType": "YulIdentifier", + "src": "36622:33:21" + }, + "nativeSrc": "36622:45:21", + "nodeType": "YulFunctionCall", + "src": "36622:45:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "36612:6:21", + "nodeType": "YulTypedName", + "src": "36612:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "36676:21:21", + "nodeType": "YulVariableDeclaration", + "src": "36676:21:21", + "value": { + "name": "array", + "nativeSrc": "36692:5:21", + "nodeType": "YulIdentifier", + "src": "36692:5:21" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "36680:8:21", + "nodeType": "YulTypedName", + "src": "36680:8:21", + "type": "" + } + ] + }, + { + "nativeSrc": "36707:49:21", + "nodeType": "YulAssignment", + "src": "36707:49:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "36746:8:21", + "nodeType": "YulIdentifier", + "src": "36746:8:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "36733:12:21", + "nodeType": "YulIdentifier", + "src": "36733:12:21" + }, + "nativeSrc": "36733:22:21", + "nodeType": "YulFunctionCall", + "src": "36733:22:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "36716:16:21", + "nodeType": "YulIdentifier", + "src": "36716:16:21" + }, + "nativeSrc": "36716:40:21", + "nodeType": "YulFunctionCall", + "src": "36716:40:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "36707:5:21", + "nodeType": "YulIdentifier", + "src": "36707:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "36783:259:21", + "nodeType": "YulBlock", + "src": "36783:259:21", + "statements": [ + { + "nativeSrc": "36797:235:21", + "nodeType": "YulAssignment", + "src": "36797:235:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "36827:5:21", + "nodeType": "YulIdentifier", + "src": "36827:5:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "36894:1:21", + "nodeType": "YulLiteral", + "src": "36894:1:21", + "type": "", + "value": "8" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "36901:1:21", + "nodeType": "YulLiteral", + "src": "36901:1:21", + "type": "", + "value": "4" + }, + { + "name": "length", + "nativeSrc": "36904:6:21", + "nodeType": "YulIdentifier", + "src": "36904:6:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "36897:3:21", + "nodeType": "YulIdentifier", + "src": "36897:3:21" + }, + "nativeSrc": "36897:14:21", + "nodeType": "YulFunctionCall", + "src": "36897:14:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "36890:3:21", + "nodeType": "YulIdentifier", + "src": "36890:3:21" + }, + "nativeSrc": "36890:22:21", + "nodeType": "YulFunctionCall", + "src": "36890:22:21" + }, + { + "kind": "number", + "nativeSrc": "36934:66:21", + "nodeType": "YulLiteral", + "src": "36934:66:21", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "36850:18:21", + "nodeType": "YulIdentifier", + "src": "36850:18:21" + }, + "nativeSrc": "36850:168:21", + "nodeType": "YulFunctionCall", + "src": "36850:168:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "36806:3:21", + "nodeType": "YulIdentifier", + "src": "36806:3:21" + }, + "nativeSrc": "36806:226:21", + "nodeType": "YulFunctionCall", + "src": "36806:226:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "36797:5:21", + "nodeType": "YulIdentifier", + "src": "36797:5:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "36772:6:21", + "nodeType": "YulIdentifier", + "src": "36772:6:21" + }, + { + "kind": "number", + "nativeSrc": "36780:1:21", + "nodeType": "YulLiteral", + "src": "36780:1:21", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "36769:2:21", + "nodeType": "YulIdentifier", + "src": "36769:2:21" + }, + "nativeSrc": "36769:13:21", + "nodeType": "YulFunctionCall", + "src": "36769:13:21" + }, + "nativeSrc": "36766:276:21", + "nodeType": "YulIf", + "src": "36766:276:21" + } + ] + }, + "name": "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4", + "nativeSrc": "36501:548:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "36576:5:21", + "nodeType": "YulTypedName", + "src": "36576:5:21", + "type": "" + }, + { + "name": "len", + "nativeSrc": "36583:3:21", + "nodeType": "YulTypedName", + "src": "36583:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "36591:5:21", + "nodeType": "YulTypedName", + "src": "36591:5:21", + "type": "" + } + ], + "src": "36501:548:21" + }, + { + "body": { + "nativeSrc": "37161:60:21", + "nodeType": "YulBlock", + "src": "37161:60:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "37183:6:21", + "nodeType": "YulIdentifier", + "src": "37183:6:21" + }, + { + "kind": "number", + "nativeSrc": "37191:1:21", + "nodeType": "YulLiteral", + "src": "37191:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37179:3:21", + "nodeType": "YulIdentifier", + "src": "37179:3:21" + }, + "nativeSrc": "37179:14:21", + "nodeType": "YulFunctionCall", + "src": "37179:14:21" + }, + { + "hexValue": "696e76616c69642073656c6563746f72", + "kind": "string", + "nativeSrc": "37195:18:21", + "nodeType": "YulLiteral", + "src": "37195:18:21", + "type": "", + "value": "invalid selector" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "37172:6:21", + "nodeType": "YulIdentifier", + "src": "37172:6:21" + }, + "nativeSrc": "37172:42:21", + "nodeType": "YulFunctionCall", + "src": "37172:42:21" + }, + "nativeSrc": "37172:42:21", + "nodeType": "YulExpressionStatement", + "src": "37172:42:21" + } + ] + }, + "name": "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "nativeSrc": "37055:166:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "37153:6:21", + "nodeType": "YulTypedName", + "src": "37153:6:21", + "type": "" + } + ], + "src": "37055:166:21" + }, + { + "body": { + "nativeSrc": "37373:220:21", + "nodeType": "YulBlock", + "src": "37373:220:21", + "statements": [ + { + "nativeSrc": "37383:74:21", + "nodeType": "YulAssignment", + "src": "37383:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37449:3:21", + "nodeType": "YulIdentifier", + "src": "37449:3:21" + }, + { + "kind": "number", + "nativeSrc": "37454:2:21", + "nodeType": "YulLiteral", + "src": "37454:2:21", + "type": "", + "value": "16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "37390:58:21", + "nodeType": "YulIdentifier", + "src": "37390:58:21" + }, + "nativeSrc": "37390:67:21", + "nodeType": "YulFunctionCall", + "src": "37390:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "37383:3:21", + "nodeType": "YulIdentifier", + "src": "37383:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37555:3:21", + "nodeType": "YulIdentifier", + "src": "37555:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "nativeSrc": "37466:88:21", + "nodeType": "YulIdentifier", + "src": "37466:88:21" + }, + "nativeSrc": "37466:93:21", + "nodeType": "YulFunctionCall", + "src": "37466:93:21" + }, + "nativeSrc": "37466:93:21", + "nodeType": "YulExpressionStatement", + "src": "37466:93:21" + }, + { + "nativeSrc": "37568:19:21", + "nodeType": "YulAssignment", + "src": "37568:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37579:3:21", + "nodeType": "YulIdentifier", + "src": "37579:3:21" + }, + { + "kind": "number", + "nativeSrc": "37584:2:21", + "nodeType": "YulLiteral", + "src": "37584:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37575:3:21", + "nodeType": "YulIdentifier", + "src": "37575:3:21" + }, + "nativeSrc": "37575:12:21", + "nodeType": "YulFunctionCall", + "src": "37575:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "37568:3:21", + "nodeType": "YulIdentifier", + "src": "37568:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack", + "nativeSrc": "37227:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "37361:3:21", + "nodeType": "YulTypedName", + "src": "37361:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "37369:3:21", + "nodeType": "YulTypedName", + "src": "37369:3:21", + "type": "" + } + ], + "src": "37227:366:21" + }, + { + "body": { + "nativeSrc": "37770:248:21", + "nodeType": "YulBlock", + "src": "37770:248:21", + "statements": [ + { + "nativeSrc": "37780:26:21", + "nodeType": "YulAssignment", + "src": "37780:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "37792:9:21", + "nodeType": "YulIdentifier", + "src": "37792:9:21" + }, + { + "kind": "number", + "nativeSrc": "37803:2:21", + "nodeType": "YulLiteral", + "src": "37803:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37788:3:21", + "nodeType": "YulIdentifier", + "src": "37788:3:21" + }, + "nativeSrc": "37788:18:21", + "nodeType": "YulFunctionCall", + "src": "37788:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "37780:4:21", + "nodeType": "YulIdentifier", + "src": "37780:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "37827:9:21", + "nodeType": "YulIdentifier", + "src": "37827:9:21" + }, + { + "kind": "number", + "nativeSrc": "37838:1:21", + "nodeType": "YulLiteral", + "src": "37838:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37823:3:21", + "nodeType": "YulIdentifier", + "src": "37823:3:21" + }, + "nativeSrc": "37823:17:21", + "nodeType": "YulFunctionCall", + "src": "37823:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "37846:4:21", + "nodeType": "YulIdentifier", + "src": "37846:4:21" + }, + { + "name": "headStart", + "nativeSrc": "37852:9:21", + "nodeType": "YulIdentifier", + "src": "37852:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "37842:3:21", + "nodeType": "YulIdentifier", + "src": "37842:3:21" + }, + "nativeSrc": "37842:20:21", + "nodeType": "YulFunctionCall", + "src": "37842:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "37816:6:21", + "nodeType": "YulIdentifier", + "src": "37816:6:21" + }, + "nativeSrc": "37816:47:21", + "nodeType": "YulFunctionCall", + "src": "37816:47:21" + }, + "nativeSrc": "37816:47:21", + "nodeType": "YulExpressionStatement", + "src": "37816:47:21" + }, + { + "nativeSrc": "37872:139:21", + "nodeType": "YulAssignment", + "src": "37872:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "38006:4:21", + "nodeType": "YulIdentifier", + "src": "38006:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack", + "nativeSrc": "37880:124:21", + "nodeType": "YulIdentifier", + "src": "37880:124:21" + }, + "nativeSrc": "37880:131:21", + "nodeType": "YulFunctionCall", + "src": "37880:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "37872:4:21", + "nodeType": "YulIdentifier", + "src": "37872:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "37599:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "37750:9:21", + "nodeType": "YulTypedName", + "src": "37750:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "37765:4:21", + "nodeType": "YulTypedName", + "src": "37765:4:21", + "type": "" + } + ], + "src": "37599:419:21" + }, + { + "body": { + "nativeSrc": "38130:136:21", + "nodeType": "YulBlock", + "src": "38130:136:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "38152:6:21", + "nodeType": "YulIdentifier", + "src": "38152:6:21" + }, + { + "kind": "number", + "nativeSrc": "38160:1:21", + "nodeType": "YulLiteral", + "src": "38160:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38148:3:21", + "nodeType": "YulIdentifier", + "src": "38148:3:21" + }, + "nativeSrc": "38148:14:21", + "nodeType": "YulFunctionCall", + "src": "38148:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420616464", + "kind": "string", + "nativeSrc": "38164:34:21", + "nodeType": "YulLiteral", + "src": "38164:34:21", + "type": "", + "value": "Not authorized to set target add" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38141:6:21", + "nodeType": "YulIdentifier", + "src": "38141:6:21" + }, + "nativeSrc": "38141:58:21", + "nodeType": "YulFunctionCall", + "src": "38141:58:21" + }, + "nativeSrc": "38141:58:21", + "nodeType": "YulExpressionStatement", + "src": "38141:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "38220:6:21", + "nodeType": "YulIdentifier", + "src": "38220:6:21" + }, + { + "kind": "number", + "nativeSrc": "38228:2:21", + "nodeType": "YulLiteral", + "src": "38228:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38216:3:21", + "nodeType": "YulIdentifier", + "src": "38216:3:21" + }, + "nativeSrc": "38216:15:21", + "nodeType": "YulFunctionCall", + "src": "38216:15:21" + }, + { + "hexValue": "7265737320736c6f7420666f722074686973206e6f6465", + "kind": "string", + "nativeSrc": "38233:25:21", + "nodeType": "YulLiteral", + "src": "38233:25:21", + "type": "", + "value": "ress slot for this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38209:6:21", + "nodeType": "YulIdentifier", + "src": "38209:6:21" + }, + "nativeSrc": "38209:50:21", + "nodeType": "YulFunctionCall", + "src": "38209:50:21" + }, + "nativeSrc": "38209:50:21", + "nodeType": "YulExpressionStatement", + "src": "38209:50:21" + } + ] + }, + "name": "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "nativeSrc": "38024:242:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "38122:6:21", + "nodeType": "YulTypedName", + "src": "38122:6:21", + "type": "" + } + ], + "src": "38024:242:21" + }, + { + "body": { + "nativeSrc": "38418:220:21", + "nodeType": "YulBlock", + "src": "38418:220:21", + "statements": [ + { + "nativeSrc": "38428:74:21", + "nodeType": "YulAssignment", + "src": "38428:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38494:3:21", + "nodeType": "YulIdentifier", + "src": "38494:3:21" + }, + { + "kind": "number", + "nativeSrc": "38499:2:21", + "nodeType": "YulLiteral", + "src": "38499:2:21", + "type": "", + "value": "55" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "38435:58:21", + "nodeType": "YulIdentifier", + "src": "38435:58:21" + }, + "nativeSrc": "38435:67:21", + "nodeType": "YulFunctionCall", + "src": "38435:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "38428:3:21", + "nodeType": "YulIdentifier", + "src": "38428:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38600:3:21", + "nodeType": "YulIdentifier", + "src": "38600:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "nativeSrc": "38511:88:21", + "nodeType": "YulIdentifier", + "src": "38511:88:21" + }, + "nativeSrc": "38511:93:21", + "nodeType": "YulFunctionCall", + "src": "38511:93:21" + }, + "nativeSrc": "38511:93:21", + "nodeType": "YulExpressionStatement", + "src": "38511:93:21" + }, + { + "nativeSrc": "38613:19:21", + "nodeType": "YulAssignment", + "src": "38613:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38624:3:21", + "nodeType": "YulIdentifier", + "src": "38624:3:21" + }, + { + "kind": "number", + "nativeSrc": "38629:2:21", + "nodeType": "YulLiteral", + "src": "38629:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38620:3:21", + "nodeType": "YulIdentifier", + "src": "38620:3:21" + }, + "nativeSrc": "38620:12:21", + "nodeType": "YulFunctionCall", + "src": "38620:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "38613:3:21", + "nodeType": "YulIdentifier", + "src": "38613:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "38272:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "38406:3:21", + "nodeType": "YulTypedName", + "src": "38406:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "38414:3:21", + "nodeType": "YulTypedName", + "src": "38414:3:21", + "type": "" + } + ], + "src": "38272:366:21" + }, + { + "body": { + "nativeSrc": "38815:248:21", + "nodeType": "YulBlock", + "src": "38815:248:21", + "statements": [ + { + "nativeSrc": "38825:26:21", + "nodeType": "YulAssignment", + "src": "38825:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "38837:9:21", + "nodeType": "YulIdentifier", + "src": "38837:9:21" + }, + { + "kind": "number", + "nativeSrc": "38848:2:21", + "nodeType": "YulLiteral", + "src": "38848:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38833:3:21", + "nodeType": "YulIdentifier", + "src": "38833:3:21" + }, + "nativeSrc": "38833:18:21", + "nodeType": "YulFunctionCall", + "src": "38833:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "38825:4:21", + "nodeType": "YulIdentifier", + "src": "38825:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "38872:9:21", + "nodeType": "YulIdentifier", + "src": "38872:9:21" + }, + { + "kind": "number", + "nativeSrc": "38883:1:21", + "nodeType": "YulLiteral", + "src": "38883:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38868:3:21", + "nodeType": "YulIdentifier", + "src": "38868:3:21" + }, + "nativeSrc": "38868:17:21", + "nodeType": "YulFunctionCall", + "src": "38868:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "38891:4:21", + "nodeType": "YulIdentifier", + "src": "38891:4:21" + }, + { + "name": "headStart", + "nativeSrc": "38897:9:21", + "nodeType": "YulIdentifier", + "src": "38897:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "38887:3:21", + "nodeType": "YulIdentifier", + "src": "38887:3:21" + }, + "nativeSrc": "38887:20:21", + "nodeType": "YulFunctionCall", + "src": "38887:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38861:6:21", + "nodeType": "YulIdentifier", + "src": "38861:6:21" + }, + "nativeSrc": "38861:47:21", + "nodeType": "YulFunctionCall", + "src": "38861:47:21" + }, + "nativeSrc": "38861:47:21", + "nodeType": "YulExpressionStatement", + "src": "38861:47:21" + }, + { + "nativeSrc": "38917:139:21", + "nodeType": "YulAssignment", + "src": "38917:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "39051:4:21", + "nodeType": "YulIdentifier", + "src": "39051:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "38925:124:21", + "nodeType": "YulIdentifier", + "src": "38925:124:21" + }, + "nativeSrc": "38925:131:21", + "nodeType": "YulFunctionCall", + "src": "38925:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "38917:4:21", + "nodeType": "YulIdentifier", + "src": "38917:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "38644:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "38795:9:21", + "nodeType": "YulTypedName", + "src": "38795:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "38810:4:21", + "nodeType": "YulTypedName", + "src": "38810:4:21", + "type": "" + } + ], + "src": "38644:419:21" + }, + { + "body": { + "nativeSrc": "39195:206:21", + "nodeType": "YulBlock", + "src": "39195:206:21", + "statements": [ + { + "nativeSrc": "39205:26:21", + "nodeType": "YulAssignment", + "src": "39205:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39217:9:21", + "nodeType": "YulIdentifier", + "src": "39217:9:21" + }, + { + "kind": "number", + "nativeSrc": "39228:2:21", + "nodeType": "YulLiteral", + "src": "39228:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39213:3:21", + "nodeType": "YulIdentifier", + "src": "39213:3:21" + }, + "nativeSrc": "39213:18:21", + "nodeType": "YulFunctionCall", + "src": "39213:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "39205:4:21", + "nodeType": "YulIdentifier", + "src": "39205:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "39285:6:21", + "nodeType": "YulIdentifier", + "src": "39285:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39298:9:21", + "nodeType": "YulIdentifier", + "src": "39298:9:21" + }, + { + "kind": "number", + "nativeSrc": "39309:1:21", + "nodeType": "YulLiteral", + "src": "39309:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39294:3:21", + "nodeType": "YulIdentifier", + "src": "39294:3:21" + }, + "nativeSrc": "39294:17:21", + "nodeType": "YulFunctionCall", + "src": "39294:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "39241:43:21", + "nodeType": "YulIdentifier", + "src": "39241:43:21" + }, + "nativeSrc": "39241:71:21", + "nodeType": "YulFunctionCall", + "src": "39241:71:21" + }, + "nativeSrc": "39241:71:21", + "nodeType": "YulExpressionStatement", + "src": "39241:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "39366:6:21", + "nodeType": "YulIdentifier", + "src": "39366:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39379:9:21", + "nodeType": "YulIdentifier", + "src": "39379:9:21" + }, + { + "kind": "number", + "nativeSrc": "39390:2:21", + "nodeType": "YulLiteral", + "src": "39390:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39375:3:21", + "nodeType": "YulIdentifier", + "src": "39375:3:21" + }, + "nativeSrc": "39375:18:21", + "nodeType": "YulFunctionCall", + "src": "39375:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "39322:43:21", + "nodeType": "YulIdentifier", + "src": "39322:43:21" + }, + "nativeSrc": "39322:72:21", + "nodeType": "YulFunctionCall", + "src": "39322:72:21" + }, + "nativeSrc": "39322:72:21", + "nodeType": "YulExpressionStatement", + "src": "39322:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "39069:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "39159:9:21", + "nodeType": "YulTypedName", + "src": "39159:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "39171:6:21", + "nodeType": "YulTypedName", + "src": "39171:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "39179:6:21", + "nodeType": "YulTypedName", + "src": "39179:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "39190:4:21", + "nodeType": "YulTypedName", + "src": "39190:4:21", + "type": "" + } + ], + "src": "39069:332:21" + }, + { + "body": { + "nativeSrc": "39513:125:21", + "nodeType": "YulBlock", + "src": "39513:125:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "39535:6:21", + "nodeType": "YulIdentifier", + "src": "39535:6:21" + }, + { + "kind": "number", + "nativeSrc": "39543:1:21", + "nodeType": "YulLiteral", + "src": "39543:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39531:3:21", + "nodeType": "YulIdentifier", + "src": "39531:3:21" + }, + "nativeSrc": "39531:14:21", + "nodeType": "YulFunctionCall", + "src": "39531:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f20736574207265736f6c7665722066", + "kind": "string", + "nativeSrc": "39547:34:21", + "nodeType": "YulLiteral", + "src": "39547:34:21", + "type": "", + "value": "Not authorized to set resolver f" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "39524:6:21", + "nodeType": "YulIdentifier", + "src": "39524:6:21" + }, + "nativeSrc": "39524:58:21", + "nodeType": "YulFunctionCall", + "src": "39524:58:21" + }, + "nativeSrc": "39524:58:21", + "nodeType": "YulExpressionStatement", + "src": "39524:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "39603:6:21", + "nodeType": "YulIdentifier", + "src": "39603:6:21" + }, + { + "kind": "number", + "nativeSrc": "39611:2:21", + "nodeType": "YulLiteral", + "src": "39611:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39599:3:21", + "nodeType": "YulIdentifier", + "src": "39599:3:21" + }, + "nativeSrc": "39599:15:21", + "nodeType": "YulFunctionCall", + "src": "39599:15:21" + }, + { + "hexValue": "6f722074686973206e6f6465", + "kind": "string", + "nativeSrc": "39616:14:21", + "nodeType": "YulLiteral", + "src": "39616:14:21", + "type": "", + "value": "or this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "39592:6:21", + "nodeType": "YulIdentifier", + "src": "39592:6:21" + }, + "nativeSrc": "39592:39:21", + "nodeType": "YulFunctionCall", + "src": "39592:39:21" + }, + "nativeSrc": "39592:39:21", + "nodeType": "YulExpressionStatement", + "src": "39592:39:21" + } + ] + }, + "name": "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "nativeSrc": "39407:231:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "39505:6:21", + "nodeType": "YulTypedName", + "src": "39505:6:21", + "type": "" + } + ], + "src": "39407:231:21" + }, + { + "body": { + "nativeSrc": "39790:220:21", + "nodeType": "YulBlock", + "src": "39790:220:21", + "statements": [ + { + "nativeSrc": "39800:74:21", + "nodeType": "YulAssignment", + "src": "39800:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39866:3:21", + "nodeType": "YulIdentifier", + "src": "39866:3:21" + }, + { + "kind": "number", + "nativeSrc": "39871:2:21", + "nodeType": "YulLiteral", + "src": "39871:2:21", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "39807:58:21", + "nodeType": "YulIdentifier", + "src": "39807:58:21" + }, + "nativeSrc": "39807:67:21", + "nodeType": "YulFunctionCall", + "src": "39807:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "39800:3:21", + "nodeType": "YulIdentifier", + "src": "39800:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39972:3:21", + "nodeType": "YulIdentifier", + "src": "39972:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "nativeSrc": "39883:88:21", + "nodeType": "YulIdentifier", + "src": "39883:88:21" + }, + "nativeSrc": "39883:93:21", + "nodeType": "YulFunctionCall", + "src": "39883:93:21" + }, + "nativeSrc": "39883:93:21", + "nodeType": "YulExpressionStatement", + "src": "39883:93:21" + }, + { + "nativeSrc": "39985:19:21", + "nodeType": "YulAssignment", + "src": "39985:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39996:3:21", + "nodeType": "YulIdentifier", + "src": "39996:3:21" + }, + { + "kind": "number", + "nativeSrc": "40001:2:21", + "nodeType": "YulLiteral", + "src": "40001:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39992:3:21", + "nodeType": "YulIdentifier", + "src": "39992:3:21" + }, + "nativeSrc": "39992:12:21", + "nodeType": "YulFunctionCall", + "src": "39992:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "39985:3:21", + "nodeType": "YulIdentifier", + "src": "39985:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack", + "nativeSrc": "39644:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "39778:3:21", + "nodeType": "YulTypedName", + "src": "39778:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "39786:3:21", + "nodeType": "YulTypedName", + "src": "39786:3:21", + "type": "" + } + ], + "src": "39644:366:21" + }, + { + "body": { + "nativeSrc": "40187:248:21", + "nodeType": "YulBlock", + "src": "40187:248:21", + "statements": [ + { + "nativeSrc": "40197:26:21", + "nodeType": "YulAssignment", + "src": "40197:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "40209:9:21", + "nodeType": "YulIdentifier", + "src": "40209:9:21" + }, + { + "kind": "number", + "nativeSrc": "40220:2:21", + "nodeType": "YulLiteral", + "src": "40220:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40205:3:21", + "nodeType": "YulIdentifier", + "src": "40205:3:21" + }, + "nativeSrc": "40205:18:21", + "nodeType": "YulFunctionCall", + "src": "40205:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "40197:4:21", + "nodeType": "YulIdentifier", + "src": "40197:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "40244:9:21", + "nodeType": "YulIdentifier", + "src": "40244:9:21" + }, + { + "kind": "number", + "nativeSrc": "40255:1:21", + "nodeType": "YulLiteral", + "src": "40255:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40240:3:21", + "nodeType": "YulIdentifier", + "src": "40240:3:21" + }, + "nativeSrc": "40240:17:21", + "nodeType": "YulFunctionCall", + "src": "40240:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "40263:4:21", + "nodeType": "YulIdentifier", + "src": "40263:4:21" + }, + { + "name": "headStart", + "nativeSrc": "40269:9:21", + "nodeType": "YulIdentifier", + "src": "40269:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "40259:3:21", + "nodeType": "YulIdentifier", + "src": "40259:3:21" + }, + "nativeSrc": "40259:20:21", + "nodeType": "YulFunctionCall", + "src": "40259:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40233:6:21", + "nodeType": "YulIdentifier", + "src": "40233:6:21" + }, + "nativeSrc": "40233:47:21", + "nodeType": "YulFunctionCall", + "src": "40233:47:21" + }, + "nativeSrc": "40233:47:21", + "nodeType": "YulExpressionStatement", + "src": "40233:47:21" + }, + { + "nativeSrc": "40289:139:21", + "nodeType": "YulAssignment", + "src": "40289:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "40423:4:21", + "nodeType": "YulIdentifier", + "src": "40423:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack", + "nativeSrc": "40297:124:21", + "nodeType": "YulIdentifier", + "src": "40297:124:21" + }, + "nativeSrc": "40297:131:21", + "nodeType": "YulFunctionCall", + "src": "40297:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "40289:4:21", + "nodeType": "YulIdentifier", + "src": "40289:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "40016:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "40167:9:21", + "nodeType": "YulTypedName", + "src": "40167:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "40182:4:21", + "nodeType": "YulTypedName", + "src": "40182:4:21", + "type": "" + } + ], + "src": "40016:419:21" + }, + { + "body": { + "nativeSrc": "40547:123:21", + "nodeType": "YulBlock", + "src": "40547:123:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "40569:6:21", + "nodeType": "YulIdentifier", + "src": "40569:6:21" + }, + { + "kind": "number", + "nativeSrc": "40577:1:21", + "nodeType": "YulLiteral", + "src": "40577:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40565:3:21", + "nodeType": "YulIdentifier", + "src": "40565:3:21" + }, + "nativeSrc": "40565:14:21", + "nodeType": "YulFunctionCall", + "src": "40565:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420666f72", + "kind": "string", + "nativeSrc": "40581:34:21", + "nodeType": "YulLiteral", + "src": "40581:34:21", + "type": "", + "value": "Not authorized to set target for" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40558:6:21", + "nodeType": "YulIdentifier", + "src": "40558:6:21" + }, + "nativeSrc": "40558:58:21", + "nodeType": "YulFunctionCall", + "src": "40558:58:21" + }, + "nativeSrc": "40558:58:21", + "nodeType": "YulExpressionStatement", + "src": "40558:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "40637:6:21", + "nodeType": "YulIdentifier", + "src": "40637:6:21" + }, + { + "kind": "number", + "nativeSrc": "40645:2:21", + "nodeType": "YulLiteral", + "src": "40645:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40633:3:21", + "nodeType": "YulIdentifier", + "src": "40633:3:21" + }, + "nativeSrc": "40633:15:21", + "nodeType": "YulFunctionCall", + "src": "40633:15:21" + }, + { + "hexValue": "2074686973206e6f6465", + "kind": "string", + "nativeSrc": "40650:12:21", + "nodeType": "YulLiteral", + "src": "40650:12:21", + "type": "", + "value": " this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40626:6:21", + "nodeType": "YulIdentifier", + "src": "40626:6:21" + }, + "nativeSrc": "40626:37:21", + "nodeType": "YulFunctionCall", + "src": "40626:37:21" + }, + "nativeSrc": "40626:37:21", + "nodeType": "YulExpressionStatement", + "src": "40626:37:21" + } + ] + }, + "name": "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "nativeSrc": "40441:229:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "40539:6:21", + "nodeType": "YulTypedName", + "src": "40539:6:21", + "type": "" + } + ], + "src": "40441:229:21" + }, + { + "body": { + "nativeSrc": "40822:220:21", + "nodeType": "YulBlock", + "src": "40822:220:21", + "statements": [ + { + "nativeSrc": "40832:74:21", + "nodeType": "YulAssignment", + "src": "40832:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "40898:3:21", + "nodeType": "YulIdentifier", + "src": "40898:3:21" + }, + { + "kind": "number", + "nativeSrc": "40903:2:21", + "nodeType": "YulLiteral", + "src": "40903:2:21", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "40839:58:21", + "nodeType": "YulIdentifier", + "src": "40839:58:21" + }, + "nativeSrc": "40839:67:21", + "nodeType": "YulFunctionCall", + "src": "40839:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "40832:3:21", + "nodeType": "YulIdentifier", + "src": "40832:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41004:3:21", + "nodeType": "YulIdentifier", + "src": "41004:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "nativeSrc": "40915:88:21", + "nodeType": "YulIdentifier", + "src": "40915:88:21" + }, + "nativeSrc": "40915:93:21", + "nodeType": "YulFunctionCall", + "src": "40915:93:21" + }, + "nativeSrc": "40915:93:21", + "nodeType": "YulExpressionStatement", + "src": "40915:93:21" + }, + { + "nativeSrc": "41017:19:21", + "nodeType": "YulAssignment", + "src": "41017:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41028:3:21", + "nodeType": "YulIdentifier", + "src": "41028:3:21" + }, + { + "kind": "number", + "nativeSrc": "41033:2:21", + "nodeType": "YulLiteral", + "src": "41033:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41024:3:21", + "nodeType": "YulIdentifier", + "src": "41024:3:21" + }, + "nativeSrc": "41024:12:21", + "nodeType": "YulFunctionCall", + "src": "41024:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "41017:3:21", + "nodeType": "YulIdentifier", + "src": "41017:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack", + "nativeSrc": "40676:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "40810:3:21", + "nodeType": "YulTypedName", + "src": "40810:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "40818:3:21", + "nodeType": "YulTypedName", + "src": "40818:3:21", + "type": "" + } + ], + "src": "40676:366:21" + }, + { + "body": { + "nativeSrc": "41219:248:21", + "nodeType": "YulBlock", + "src": "41219:248:21", + "statements": [ + { + "nativeSrc": "41229:26:21", + "nodeType": "YulAssignment", + "src": "41229:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41241:9:21", + "nodeType": "YulIdentifier", + "src": "41241:9:21" + }, + { + "kind": "number", + "nativeSrc": "41252:2:21", + "nodeType": "YulLiteral", + "src": "41252:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41237:3:21", + "nodeType": "YulIdentifier", + "src": "41237:3:21" + }, + "nativeSrc": "41237:18:21", + "nodeType": "YulFunctionCall", + "src": "41237:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41229:4:21", + "nodeType": "YulIdentifier", + "src": "41229:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41276:9:21", + "nodeType": "YulIdentifier", + "src": "41276:9:21" + }, + { + "kind": "number", + "nativeSrc": "41287:1:21", + "nodeType": "YulLiteral", + "src": "41287:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41272:3:21", + "nodeType": "YulIdentifier", + "src": "41272:3:21" + }, + "nativeSrc": "41272:17:21", + "nodeType": "YulFunctionCall", + "src": "41272:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "41295:4:21", + "nodeType": "YulIdentifier", + "src": "41295:4:21" + }, + { + "name": "headStart", + "nativeSrc": "41301:9:21", + "nodeType": "YulIdentifier", + "src": "41301:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "41291:3:21", + "nodeType": "YulIdentifier", + "src": "41291:3:21" + }, + "nativeSrc": "41291:20:21", + "nodeType": "YulFunctionCall", + "src": "41291:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "41265:6:21", + "nodeType": "YulIdentifier", + "src": "41265:6:21" + }, + "nativeSrc": "41265:47:21", + "nodeType": "YulFunctionCall", + "src": "41265:47:21" + }, + "nativeSrc": "41265:47:21", + "nodeType": "YulExpressionStatement", + "src": "41265:47:21" + }, + { + "nativeSrc": "41321:139:21", + "nodeType": "YulAssignment", + "src": "41321:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "41455:4:21", + "nodeType": "YulIdentifier", + "src": "41455:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack", + "nativeSrc": "41329:124:21", + "nodeType": "YulIdentifier", + "src": "41329:124:21" + }, + "nativeSrc": "41329:131:21", + "nodeType": "YulFunctionCall", + "src": "41329:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41321:4:21", + "nodeType": "YulIdentifier", + "src": "41321:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "41048:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "41199:9:21", + "nodeType": "YulTypedName", + "src": "41199:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "41214:4:21", + "nodeType": "YulTypedName", + "src": "41214:4:21", + "type": "" + } + ], + "src": "41048:419:21" + }, + { + "body": { + "nativeSrc": "41595:214:21", + "nodeType": "YulBlock", + "src": "41595:214:21", + "statements": [ + { + "nativeSrc": "41605:77:21", + "nodeType": "YulAssignment", + "src": "41605:77:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41670:3:21", + "nodeType": "YulIdentifier", + "src": "41670:3:21" + }, + { + "name": "length", + "nativeSrc": "41675:6:21", + "nodeType": "YulIdentifier", + "src": "41675:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "41612:57:21", + "nodeType": "YulIdentifier", + "src": "41612:57:21" + }, + "nativeSrc": "41612:70:21", + "nodeType": "YulFunctionCall", + "src": "41612:70:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "41605:3:21", + "nodeType": "YulIdentifier", + "src": "41605:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "41729:5:21", + "nodeType": "YulIdentifier", + "src": "41729:5:21" + }, + { + "name": "pos", + "nativeSrc": "41736:3:21", + "nodeType": "YulIdentifier", + "src": "41736:3:21" + }, + { + "name": "length", + "nativeSrc": "41741:6:21", + "nodeType": "YulIdentifier", + "src": "41741:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "41692:36:21", + "nodeType": "YulIdentifier", + "src": "41692:36:21" + }, + "nativeSrc": "41692:56:21", + "nodeType": "YulFunctionCall", + "src": "41692:56:21" + }, + "nativeSrc": "41692:56:21", + "nodeType": "YulExpressionStatement", + "src": "41692:56:21" + }, + { + "nativeSrc": "41757:46:21", + "nodeType": "YulAssignment", + "src": "41757:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41768:3:21", + "nodeType": "YulIdentifier", + "src": "41768:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "41795:6:21", + "nodeType": "YulIdentifier", + "src": "41795:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "41773:21:21", + "nodeType": "YulIdentifier", + "src": "41773:21:21" + }, + "nativeSrc": "41773:29:21", + "nodeType": "YulFunctionCall", + "src": "41773:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41764:3:21", + "nodeType": "YulIdentifier", + "src": "41764:3:21" + }, + "nativeSrc": "41764:39:21", + "nodeType": "YulFunctionCall", + "src": "41764:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "41757:3:21", + "nodeType": "YulIdentifier", + "src": "41757:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "41495:314:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "41568:5:21", + "nodeType": "YulTypedName", + "src": "41568:5:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "41575:6:21", + "nodeType": "YulTypedName", + "src": "41575:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "41583:3:21", + "nodeType": "YulTypedName", + "src": "41583:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "41591:3:21", + "nodeType": "YulTypedName", + "src": "41591:3:21", + "type": "" + } + ], + "src": "41495:314:21" + }, + { + "body": { + "nativeSrc": "41969:285:21", + "nodeType": "YulBlock", + "src": "41969:285:21", + "statements": [ + { + "nativeSrc": "41979:26:21", + "nodeType": "YulAssignment", + "src": "41979:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41991:9:21", + "nodeType": "YulIdentifier", + "src": "41991:9:21" + }, + { + "kind": "number", + "nativeSrc": "42002:2:21", + "nodeType": "YulLiteral", + "src": "42002:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41987:3:21", + "nodeType": "YulIdentifier", + "src": "41987:3:21" + }, + "nativeSrc": "41987:18:21", + "nodeType": "YulFunctionCall", + "src": "41987:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41979:4:21", + "nodeType": "YulIdentifier", + "src": "41979:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42026:9:21", + "nodeType": "YulIdentifier", + "src": "42026:9:21" + }, + { + "kind": "number", + "nativeSrc": "42037:1:21", + "nodeType": "YulLiteral", + "src": "42037:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42022:3:21", + "nodeType": "YulIdentifier", + "src": "42022:3:21" + }, + "nativeSrc": "42022:17:21", + "nodeType": "YulFunctionCall", + "src": "42022:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "42045:4:21", + "nodeType": "YulIdentifier", + "src": "42045:4:21" + }, + { + "name": "headStart", + "nativeSrc": "42051:9:21", + "nodeType": "YulIdentifier", + "src": "42051:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "42041:3:21", + "nodeType": "YulIdentifier", + "src": "42041:3:21" + }, + "nativeSrc": "42041:20:21", + "nodeType": "YulFunctionCall", + "src": "42041:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42015:6:21", + "nodeType": "YulIdentifier", + "src": "42015:6:21" + }, + "nativeSrc": "42015:47:21", + "nodeType": "YulFunctionCall", + "src": "42015:47:21" + }, + "nativeSrc": "42015:47:21", + "nodeType": "YulExpressionStatement", + "src": "42015:47:21" + }, + { + "nativeSrc": "42071:94:21", + "nodeType": "YulAssignment", + "src": "42071:94:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "42143:6:21", + "nodeType": "YulIdentifier", + "src": "42143:6:21" + }, + { + "name": "value1", + "nativeSrc": "42151:6:21", + "nodeType": "YulIdentifier", + "src": "42151:6:21" + }, + { + "name": "tail", + "nativeSrc": "42160:4:21", + "nodeType": "YulIdentifier", + "src": "42160:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "42079:63:21", + "nodeType": "YulIdentifier", + "src": "42079:63:21" + }, + "nativeSrc": "42079:86:21", + "nodeType": "YulFunctionCall", + "src": "42079:86:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "42071:4:21", + "nodeType": "YulIdentifier", + "src": "42071:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "42219:6:21", + "nodeType": "YulIdentifier", + "src": "42219:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42232:9:21", + "nodeType": "YulIdentifier", + "src": "42232:9:21" + }, + { + "kind": "number", + "nativeSrc": "42243:2:21", + "nodeType": "YulLiteral", + "src": "42243:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42228:3:21", + "nodeType": "YulIdentifier", + "src": "42228:3:21" + }, + "nativeSrc": "42228:18:21", + "nodeType": "YulFunctionCall", + "src": "42228:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "42175:43:21", + "nodeType": "YulIdentifier", + "src": "42175:43:21" + }, + "nativeSrc": "42175:72:21", + "nodeType": "YulFunctionCall", + "src": "42175:72:21" + }, + "nativeSrc": "42175:72:21", + "nodeType": "YulExpressionStatement", + "src": "42175:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed", + "nativeSrc": "41815:439:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "41925:9:21", + "nodeType": "YulTypedName", + "src": "41925:9:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "41937:6:21", + "nodeType": "YulTypedName", + "src": "41937:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "41945:6:21", + "nodeType": "YulTypedName", + "src": "41945:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "41953:6:21", + "nodeType": "YulTypedName", + "src": "41953:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "41964:4:21", + "nodeType": "YulTypedName", + "src": "41964:4:21", + "type": "" + } + ], + "src": "41815:439:21" + }, + { + "body": { + "nativeSrc": "42288:152:21", + "nodeType": "YulBlock", + "src": "42288:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42305:1:21", + "nodeType": "YulLiteral", + "src": "42305:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "42308:77:21", + "nodeType": "YulLiteral", + "src": "42308:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42298:6:21", + "nodeType": "YulIdentifier", + "src": "42298:6:21" + }, + "nativeSrc": "42298:88:21", + "nodeType": "YulFunctionCall", + "src": "42298:88:21" + }, + "nativeSrc": "42298:88:21", + "nodeType": "YulExpressionStatement", + "src": "42298:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42402:1:21", + "nodeType": "YulLiteral", + "src": "42402:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "42405:4:21", + "nodeType": "YulLiteral", + "src": "42405:4:21", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42395:6:21", + "nodeType": "YulIdentifier", + "src": "42395:6:21" + }, + "nativeSrc": "42395:15:21", + "nodeType": "YulFunctionCall", + "src": "42395:15:21" + }, + "nativeSrc": "42395:15:21", + "nodeType": "YulExpressionStatement", + "src": "42395:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42426:1:21", + "nodeType": "YulLiteral", + "src": "42426:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "42429:4:21", + "nodeType": "YulLiteral", + "src": "42429:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "42419:6:21", + "nodeType": "YulIdentifier", + "src": "42419:6:21" + }, + "nativeSrc": "42419:15:21", + "nodeType": "YulFunctionCall", + "src": "42419:15:21" + }, + "nativeSrc": "42419:15:21", + "nodeType": "YulExpressionStatement", + "src": "42419:15:21" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "42260:180:21", + "nodeType": "YulFunctionDefinition", + "src": "42260:180:21" + }, + { + "body": { + "nativeSrc": "42517:88:21", + "nodeType": "YulBlock", + "src": "42517:88:21", + "statements": [ + { + "nativeSrc": "42527:22:21", + "nodeType": "YulAssignment", + "src": "42527:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "42542:6:21", + "nodeType": "YulIdentifier", + "src": "42542:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "42536:5:21", + "nodeType": "YulIdentifier", + "src": "42536:5:21" + }, + "nativeSrc": "42536:13:21", + "nodeType": "YulFunctionCall", + "src": "42536:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "42527:5:21", + "nodeType": "YulIdentifier", + "src": "42527:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "42593:5:21", + "nodeType": "YulIdentifier", + "src": "42593:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address_payable", + "nativeSrc": "42558:34:21", + "nodeType": "YulIdentifier", + "src": "42558:34:21" + }, + "nativeSrc": "42558:41:21", + "nodeType": "YulFunctionCall", + "src": "42558:41:21" + }, + "nativeSrc": "42558:41:21", + "nodeType": "YulExpressionStatement", + "src": "42558:41:21" + } + ] + }, + "name": "abi_decode_t_address_payable_fromMemory", + "nativeSrc": "42446:159:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "42495:6:21", + "nodeType": "YulTypedName", + "src": "42495:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "42503:3:21", + "nodeType": "YulTypedName", + "src": "42503:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "42511:5:21", + "nodeType": "YulTypedName", + "src": "42511:5:21", + "type": "" + } + ], + "src": "42446:159:21" + }, + { + "body": { + "nativeSrc": "42696:282:21", + "nodeType": "YulBlock", + "src": "42696:282:21", + "statements": [ + { + "body": { + "nativeSrc": "42742:83:21", + "nodeType": "YulBlock", + "src": "42742:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "42744:77:21", + "nodeType": "YulIdentifier", + "src": "42744:77:21" + }, + "nativeSrc": "42744:79:21", + "nodeType": "YulFunctionCall", + "src": "42744:79:21" + }, + "nativeSrc": "42744:79:21", + "nodeType": "YulExpressionStatement", + "src": "42744:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "42717:7:21", + "nodeType": "YulIdentifier", + "src": "42717:7:21" + }, + { + "name": "headStart", + "nativeSrc": "42726:9:21", + "nodeType": "YulIdentifier", + "src": "42726:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "42713:3:21", + "nodeType": "YulIdentifier", + "src": "42713:3:21" + }, + "nativeSrc": "42713:23:21", + "nodeType": "YulFunctionCall", + "src": "42713:23:21" + }, + { + "kind": "number", + "nativeSrc": "42738:2:21", + "nodeType": "YulLiteral", + "src": "42738:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "42709:3:21", + "nodeType": "YulIdentifier", + "src": "42709:3:21" + }, + "nativeSrc": "42709:32:21", + "nodeType": "YulFunctionCall", + "src": "42709:32:21" + }, + "nativeSrc": "42706:119:21", + "nodeType": "YulIf", + "src": "42706:119:21" + }, + { + "nativeSrc": "42835:136:21", + "nodeType": "YulBlock", + "src": "42835:136:21", + "statements": [ + { + "nativeSrc": "42850:15:21", + "nodeType": "YulVariableDeclaration", + "src": "42850:15:21", + "value": { + "kind": "number", + "nativeSrc": "42864:1:21", + "nodeType": "YulLiteral", + "src": "42864:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "42854:6:21", + "nodeType": "YulTypedName", + "src": "42854:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "42879:82:21", + "nodeType": "YulAssignment", + "src": "42879:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42933:9:21", + "nodeType": "YulIdentifier", + "src": "42933:9:21" + }, + { + "name": "offset", + "nativeSrc": "42944:6:21", + "nodeType": "YulIdentifier", + "src": "42944:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42929:3:21", + "nodeType": "YulIdentifier", + "src": "42929:3:21" + }, + "nativeSrc": "42929:22:21", + "nodeType": "YulFunctionCall", + "src": "42929:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "42953:7:21", + "nodeType": "YulIdentifier", + "src": "42953:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_payable_fromMemory", + "nativeSrc": "42889:39:21", + "nodeType": "YulIdentifier", + "src": "42889:39:21" + }, + "nativeSrc": "42889:72:21", + "nodeType": "YulFunctionCall", + "src": "42889:72:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "42879:6:21", + "nodeType": "YulIdentifier", + "src": "42879:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable_fromMemory", + "nativeSrc": "42611:367:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "42666:9:21", + "nodeType": "YulTypedName", + "src": "42666:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "42677:7:21", + "nodeType": "YulTypedName", + "src": "42677:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "42689:6:21", + "nodeType": "YulTypedName", + "src": "42689:6:21", + "type": "" + } + ], + "src": "42611:367:21" + }, + { + "body": { + "nativeSrc": "43082:124:21", + "nodeType": "YulBlock", + "src": "43082:124:21", + "statements": [ + { + "nativeSrc": "43092:26:21", + "nodeType": "YulAssignment", + "src": "43092:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "43104:9:21", + "nodeType": "YulIdentifier", + "src": "43104:9:21" + }, + { + "kind": "number", + "nativeSrc": "43115:2:21", + "nodeType": "YulLiteral", + "src": "43115:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43100:3:21", + "nodeType": "YulIdentifier", + "src": "43100:3:21" + }, + "nativeSrc": "43100:18:21", + "nodeType": "YulFunctionCall", + "src": "43100:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "43092:4:21", + "nodeType": "YulIdentifier", + "src": "43092:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "43172:6:21", + "nodeType": "YulIdentifier", + "src": "43172:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "43185:9:21", + "nodeType": "YulIdentifier", + "src": "43185:9:21" + }, + { + "kind": "number", + "nativeSrc": "43196:1:21", + "nodeType": "YulLiteral", + "src": "43196:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43181:3:21", + "nodeType": "YulIdentifier", + "src": "43181:3:21" + }, + "nativeSrc": "43181:17:21", + "nodeType": "YulFunctionCall", + "src": "43181:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "43128:43:21", + "nodeType": "YulIdentifier", + "src": "43128:43:21" + }, + "nativeSrc": "43128:71:21", + "nodeType": "YulFunctionCall", + "src": "43128:71:21" + }, + "nativeSrc": "43128:71:21", + "nodeType": "YulExpressionStatement", + "src": "43128:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "42984:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "43054:9:21", + "nodeType": "YulTypedName", + "src": "43054:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "43066:6:21", + "nodeType": "YulTypedName", + "src": "43066:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "43077:4:21", + "nodeType": "YulTypedName", + "src": "43077:4:21", + "type": "" + } + ], + "src": "42984:222:21" + }, + { + "body": { + "nativeSrc": "43240:152:21", + "nodeType": "YulBlock", + "src": "43240:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43257:1:21", + "nodeType": "YulLiteral", + "src": "43257:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "43260:77:21", + "nodeType": "YulLiteral", + "src": "43260:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43250:6:21", + "nodeType": "YulIdentifier", + "src": "43250:6:21" + }, + "nativeSrc": "43250:88:21", + "nodeType": "YulFunctionCall", + "src": "43250:88:21" + }, + "nativeSrc": "43250:88:21", + "nodeType": "YulExpressionStatement", + "src": "43250:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43354:1:21", + "nodeType": "YulLiteral", + "src": "43354:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "43357:4:21", + "nodeType": "YulLiteral", + "src": "43357:4:21", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43347:6:21", + "nodeType": "YulIdentifier", + "src": "43347:6:21" + }, + "nativeSrc": "43347:15:21", + "nodeType": "YulFunctionCall", + "src": "43347:15:21" + }, + "nativeSrc": "43347:15:21", + "nodeType": "YulExpressionStatement", + "src": "43347:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43378:1:21", + "nodeType": "YulLiteral", + "src": "43378:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "43381:4:21", + "nodeType": "YulLiteral", + "src": "43381:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "43371:6:21", + "nodeType": "YulIdentifier", + "src": "43371:6:21" + }, + "nativeSrc": "43371:15:21", + "nodeType": "YulFunctionCall", + "src": "43371:15:21" + }, + "nativeSrc": "43371:15:21", + "nodeType": "YulExpressionStatement", + "src": "43371:15:21" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "43212:180:21", + "nodeType": "YulFunctionDefinition", + "src": "43212:180:21" + }, + { + "body": { + "nativeSrc": "43442:147:21", + "nodeType": "YulBlock", + "src": "43442:147:21", + "statements": [ + { + "nativeSrc": "43452:25:21", + "nodeType": "YulAssignment", + "src": "43452:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43475:1:21", + "nodeType": "YulIdentifier", + "src": "43475:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "43457:17:21", + "nodeType": "YulIdentifier", + "src": "43457:17:21" + }, + "nativeSrc": "43457:20:21", + "nodeType": "YulFunctionCall", + "src": "43457:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "43452:1:21", + "nodeType": "YulIdentifier", + "src": "43452:1:21" + } + ] + }, + { + "nativeSrc": "43486:25:21", + "nodeType": "YulAssignment", + "src": "43486:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "43509:1:21", + "nodeType": "YulIdentifier", + "src": "43509:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "43491:17:21", + "nodeType": "YulIdentifier", + "src": "43491:17:21" + }, + "nativeSrc": "43491:20:21", + "nodeType": "YulFunctionCall", + "src": "43491:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "43486:1:21", + "nodeType": "YulIdentifier", + "src": "43486:1:21" + } + ] + }, + { + "nativeSrc": "43520:16:21", + "nodeType": "YulAssignment", + "src": "43520:16:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43531:1:21", + "nodeType": "YulIdentifier", + "src": "43531:1:21" + }, + { + "name": "y", + "nativeSrc": "43534:1:21", + "nodeType": "YulIdentifier", + "src": "43534:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43527:3:21", + "nodeType": "YulIdentifier", + "src": "43527:3:21" + }, + "nativeSrc": "43527:9:21", + "nodeType": "YulFunctionCall", + "src": "43527:9:21" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "43520:3:21", + "nodeType": "YulIdentifier", + "src": "43520:3:21" + } + ] + }, + { + "body": { + "nativeSrc": "43560:22:21", + "nodeType": "YulBlock", + "src": "43560:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "43562:16:21", + "nodeType": "YulIdentifier", + "src": "43562:16:21" + }, + "nativeSrc": "43562:18:21", + "nodeType": "YulFunctionCall", + "src": "43562:18:21" + }, + "nativeSrc": "43562:18:21", + "nodeType": "YulExpressionStatement", + "src": "43562:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43552:1:21", + "nodeType": "YulIdentifier", + "src": "43552:1:21" + }, + { + "name": "sum", + "nativeSrc": "43555:3:21", + "nodeType": "YulIdentifier", + "src": "43555:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "43549:2:21", + "nodeType": "YulIdentifier", + "src": "43549:2:21" + }, + "nativeSrc": "43549:10:21", + "nodeType": "YulFunctionCall", + "src": "43549:10:21" + }, + "nativeSrc": "43546:36:21", + "nodeType": "YulIf", + "src": "43546:36:21" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "43398:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "43429:1:21", + "nodeType": "YulTypedName", + "src": "43429:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "43432:1:21", + "nodeType": "YulTypedName", + "src": "43432:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "43438:3:21", + "nodeType": "YulTypedName", + "src": "43438:3:21", + "type": "" + } + ], + "src": "43398:191:21" + }, + { + "body": { + "nativeSrc": "43642:32:21", + "nodeType": "YulBlock", + "src": "43642:32:21", + "statements": [ + { + "nativeSrc": "43652:16:21", + "nodeType": "YulAssignment", + "src": "43652:16:21", + "value": { + "name": "value", + "nativeSrc": "43663:5:21", + "nodeType": "YulIdentifier", + "src": "43663:5:21" + }, + "variableNames": [ + { + "name": "aligned", + "nativeSrc": "43652:7:21", + "nodeType": "YulIdentifier", + "src": "43652:7:21" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nativeSrc": "43595:79:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "43624:5:21", + "nodeType": "YulTypedName", + "src": "43624:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nativeSrc": "43634:7:21", + "nodeType": "YulTypedName", + "src": "43634:7:21", + "type": "" + } + ], + "src": "43595:79:21" + }, + { + "body": { + "nativeSrc": "43763:74:21", + "nodeType": "YulBlock", + "src": "43763:74:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "43780:3:21", + "nodeType": "YulIdentifier", + "src": "43780:3:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "43823:5:21", + "nodeType": "YulIdentifier", + "src": "43823:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "43805:17:21", + "nodeType": "YulIdentifier", + "src": "43805:17:21" + }, + "nativeSrc": "43805:24:21", + "nodeType": "YulFunctionCall", + "src": "43805:24:21" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nativeSrc": "43785:19:21", + "nodeType": "YulIdentifier", + "src": "43785:19:21" + }, + "nativeSrc": "43785:45:21", + "nodeType": "YulFunctionCall", + "src": "43785:45:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43773:6:21", + "nodeType": "YulIdentifier", + "src": "43773:6:21" + }, + "nativeSrc": "43773:58:21", + "nodeType": "YulFunctionCall", + "src": "43773:58:21" + }, + "nativeSrc": "43773:58:21", + "nodeType": "YulExpressionStatement", + "src": "43773:58:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "43680:157:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "43751:5:21", + "nodeType": "YulTypedName", + "src": "43751:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "43758:3:21", + "nodeType": "YulTypedName", + "src": "43758:3:21", + "type": "" + } + ], + "src": "43680:157:21" + }, + { + "body": { + "nativeSrc": "43987:253:21", + "nodeType": "YulBlock", + "src": "43987:253:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "44060:6:21", + "nodeType": "YulIdentifier", + "src": "44060:6:21" + }, + { + "name": "pos", + "nativeSrc": "44069:3:21", + "nodeType": "YulIdentifier", + "src": "44069:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "43998:61:21", + "nodeType": "YulIdentifier", + "src": "43998:61:21" + }, + "nativeSrc": "43998:75:21", + "nodeType": "YulFunctionCall", + "src": "43998:75:21" + }, + "nativeSrc": "43998:75:21", + "nodeType": "YulExpressionStatement", + "src": "43998:75:21" + }, + { + "nativeSrc": "44082:19:21", + "nodeType": "YulAssignment", + "src": "44082:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44093:3:21", + "nodeType": "YulIdentifier", + "src": "44093:3:21" + }, + { + "kind": "number", + "nativeSrc": "44098:2:21", + "nodeType": "YulLiteral", + "src": "44098:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44089:3:21", + "nodeType": "YulIdentifier", + "src": "44089:3:21" + }, + "nativeSrc": "44089:12:21", + "nodeType": "YulFunctionCall", + "src": "44089:12:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44082:3:21", + "nodeType": "YulIdentifier", + "src": "44082:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "44173:6:21", + "nodeType": "YulIdentifier", + "src": "44173:6:21" + }, + { + "name": "pos", + "nativeSrc": "44182:3:21", + "nodeType": "YulIdentifier", + "src": "44182:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "44111:61:21", + "nodeType": "YulIdentifier", + "src": "44111:61:21" + }, + "nativeSrc": "44111:75:21", + "nodeType": "YulFunctionCall", + "src": "44111:75:21" + }, + "nativeSrc": "44111:75:21", + "nodeType": "YulExpressionStatement", + "src": "44111:75:21" + }, + { + "nativeSrc": "44195:19:21", + "nodeType": "YulAssignment", + "src": "44195:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44206:3:21", + "nodeType": "YulIdentifier", + "src": "44206:3:21" + }, + { + "kind": "number", + "nativeSrc": "44211:2:21", + "nodeType": "YulLiteral", + "src": "44211:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44202:3:21", + "nodeType": "YulIdentifier", + "src": "44202:3:21" + }, + "nativeSrc": "44202:12:21", + "nodeType": "YulFunctionCall", + "src": "44202:12:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44195:3:21", + "nodeType": "YulIdentifier", + "src": "44195:3:21" + } + ] + }, + { + "nativeSrc": "44224:10:21", + "nodeType": "YulAssignment", + "src": "44224:10:21", + "value": { + "name": "pos", + "nativeSrc": "44231:3:21", + "nodeType": "YulIdentifier", + "src": "44231:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "44224:3:21", + "nodeType": "YulIdentifier", + "src": "44224:3:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "43843:397:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "43958:3:21", + "nodeType": "YulTypedName", + "src": "43958:3:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "43964:6:21", + "nodeType": "YulTypedName", + "src": "43964:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "43972:6:21", + "nodeType": "YulTypedName", + "src": "43972:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "43983:3:21", + "nodeType": "YulTypedName", + "src": "43983:3:21", + "type": "" + } + ], + "src": "43843:397:21" + }, + { + "body": { + "nativeSrc": "44359:34:21", + "nodeType": "YulBlock", + "src": "44359:34:21", + "statements": [ + { + "nativeSrc": "44369:18:21", + "nodeType": "YulAssignment", + "src": "44369:18:21", + "value": { + "name": "pos", + "nativeSrc": "44384:3:21", + "nodeType": "YulIdentifier", + "src": "44384:3:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "44369:11:21", + "nodeType": "YulIdentifier", + "src": "44369:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44246:147:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "44331:3:21", + "nodeType": "YulTypedName", + "src": "44331:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "44336:6:21", + "nodeType": "YulTypedName", + "src": "44336:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "44347:11:21", + "nodeType": "YulTypedName", + "src": "44347:11:21", + "type": "" + } + ], + "src": "44246:147:21" + }, + { + "body": { + "nativeSrc": "44507:278:21", + "nodeType": "YulBlock", + "src": "44507:278:21", + "statements": [ + { + "nativeSrc": "44517:52:21", + "nodeType": "YulVariableDeclaration", + "src": "44517:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "44563:5:21", + "nodeType": "YulIdentifier", + "src": "44563:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "44531:31:21", + "nodeType": "YulIdentifier", + "src": "44531:31:21" + }, + "nativeSrc": "44531:38:21", + "nodeType": "YulFunctionCall", + "src": "44531:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "44521:6:21", + "nodeType": "YulTypedName", + "src": "44521:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "44578:95:21", + "nodeType": "YulAssignment", + "src": "44578:95:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44661:3:21", + "nodeType": "YulIdentifier", + "src": "44661:3:21" + }, + { + "name": "length", + "nativeSrc": "44666:6:21", + "nodeType": "YulIdentifier", + "src": "44666:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44585:75:21", + "nodeType": "YulIdentifier", + "src": "44585:75:21" + }, + "nativeSrc": "44585:88:21", + "nodeType": "YulFunctionCall", + "src": "44585:88:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44578:3:21", + "nodeType": "YulIdentifier", + "src": "44578:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "44721:5:21", + "nodeType": "YulIdentifier", + "src": "44721:5:21" + }, + { + "kind": "number", + "nativeSrc": "44728:4:21", + "nodeType": "YulLiteral", + "src": "44728:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44717:3:21", + "nodeType": "YulIdentifier", + "src": "44717:3:21" + }, + "nativeSrc": "44717:16:21", + "nodeType": "YulFunctionCall", + "src": "44717:16:21" + }, + { + "name": "pos", + "nativeSrc": "44735:3:21", + "nodeType": "YulIdentifier", + "src": "44735:3:21" + }, + { + "name": "length", + "nativeSrc": "44740:6:21", + "nodeType": "YulIdentifier", + "src": "44740:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "44682:34:21", + "nodeType": "YulIdentifier", + "src": "44682:34:21" + }, + "nativeSrc": "44682:65:21", + "nodeType": "YulFunctionCall", + "src": "44682:65:21" + }, + "nativeSrc": "44682:65:21", + "nodeType": "YulExpressionStatement", + "src": "44682:65:21" + }, + { + "nativeSrc": "44756:23:21", + "nodeType": "YulAssignment", + "src": "44756:23:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44767:3:21", + "nodeType": "YulIdentifier", + "src": "44767:3:21" + }, + { + "name": "length", + "nativeSrc": "44772:6:21", + "nodeType": "YulIdentifier", + "src": "44772:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44763:3:21", + "nodeType": "YulIdentifier", + "src": "44763:3:21" + }, + "nativeSrc": "44763:16:21", + "nodeType": "YulFunctionCall", + "src": "44763:16:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "44756:3:21", + "nodeType": "YulIdentifier", + "src": "44756:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44399:386:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "44488:5:21", + "nodeType": "YulTypedName", + "src": "44488:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "44495:3:21", + "nodeType": "YulTypedName", + "src": "44495:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "44503:3:21", + "nodeType": "YulTypedName", + "src": "44503:3:21", + "type": "" + } + ], + "src": "44399:386:21" + }, + { + "body": { + "nativeSrc": "44925:137:21", + "nodeType": "YulBlock", + "src": "44925:137:21", + "statements": [ + { + "nativeSrc": "44936:100:21", + "nodeType": "YulAssignment", + "src": "44936:100:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "45023:6:21", + "nodeType": "YulIdentifier", + "src": "45023:6:21" + }, + { + "name": "pos", + "nativeSrc": "45032:3:21", + "nodeType": "YulIdentifier", + "src": "45032:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44943:79:21", + "nodeType": "YulIdentifier", + "src": "44943:79:21" + }, + "nativeSrc": "44943:93:21", + "nodeType": "YulFunctionCall", + "src": "44943:93:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44936:3:21", + "nodeType": "YulIdentifier", + "src": "44936:3:21" + } + ] + }, + { + "nativeSrc": "45046:10:21", + "nodeType": "YulAssignment", + "src": "45046:10:21", + "value": { + "name": "pos", + "nativeSrc": "45053:3:21", + "nodeType": "YulIdentifier", + "src": "45053:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "45046:3:21", + "nodeType": "YulIdentifier", + "src": "45046:3:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "44791:271:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "44904:3:21", + "nodeType": "YulTypedName", + "src": "44904:3:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "44910:6:21", + "nodeType": "YulTypedName", + "src": "44910:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "44921:3:21", + "nodeType": "YulTypedName", + "src": "44921:3:21", + "type": "" + } + ], + "src": "44791:271:21" + }, + { + "body": { + "nativeSrc": "45166:124:21", + "nodeType": "YulBlock", + "src": "45166:124:21", + "statements": [ + { + "nativeSrc": "45176:26:21", + "nodeType": "YulAssignment", + "src": "45176:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45188:9:21", + "nodeType": "YulIdentifier", + "src": "45188:9:21" + }, + { + "kind": "number", + "nativeSrc": "45199:2:21", + "nodeType": "YulLiteral", + "src": "45199:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45184:3:21", + "nodeType": "YulIdentifier", + "src": "45184:3:21" + }, + "nativeSrc": "45184:18:21", + "nodeType": "YulFunctionCall", + "src": "45184:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "45176:4:21", + "nodeType": "YulIdentifier", + "src": "45176:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "45256:6:21", + "nodeType": "YulIdentifier", + "src": "45256:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45269:9:21", + "nodeType": "YulIdentifier", + "src": "45269:9:21" + }, + { + "kind": "number", + "nativeSrc": "45280:1:21", + "nodeType": "YulLiteral", + "src": "45280:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45265:3:21", + "nodeType": "YulIdentifier", + "src": "45265:3:21" + }, + "nativeSrc": "45265:17:21", + "nodeType": "YulFunctionCall", + "src": "45265:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "45212:43:21", + "nodeType": "YulIdentifier", + "src": "45212:43:21" + }, + "nativeSrc": "45212:71:21", + "nodeType": "YulFunctionCall", + "src": "45212:71:21" + }, + "nativeSrc": "45212:71:21", + "nodeType": "YulExpressionStatement", + "src": "45212:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "45068:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45138:9:21", + "nodeType": "YulTypedName", + "src": "45138:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "45150:6:21", + "nodeType": "YulTypedName", + "src": "45150:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "45161:4:21", + "nodeType": "YulTypedName", + "src": "45161:4:21", + "type": "" + } + ], + "src": "45068:222:21" + }, + { + "body": { + "nativeSrc": "45359:80:21", + "nodeType": "YulBlock", + "src": "45359:80:21", + "statements": [ + { + "nativeSrc": "45369:22:21", + "nodeType": "YulAssignment", + "src": "45369:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "45384:6:21", + "nodeType": "YulIdentifier", + "src": "45384:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "45378:5:21", + "nodeType": "YulIdentifier", + "src": "45378:5:21" + }, + "nativeSrc": "45378:13:21", + "nodeType": "YulFunctionCall", + "src": "45378:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "45369:5:21", + "nodeType": "YulIdentifier", + "src": "45369:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "45427:5:21", + "nodeType": "YulIdentifier", + "src": "45427:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "45400:26:21", + "nodeType": "YulIdentifier", + "src": "45400:26:21" + }, + "nativeSrc": "45400:33:21", + "nodeType": "YulFunctionCall", + "src": "45400:33:21" + }, + "nativeSrc": "45400:33:21", + "nodeType": "YulExpressionStatement", + "src": "45400:33:21" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "45296:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "45337:6:21", + "nodeType": "YulTypedName", + "src": "45337:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "45345:3:21", + "nodeType": "YulTypedName", + "src": "45345:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "45353:5:21", + "nodeType": "YulTypedName", + "src": "45353:5:21", + "type": "" + } + ], + "src": "45296:143:21" + }, + { + "body": { + "nativeSrc": "45522:274:21", + "nodeType": "YulBlock", + "src": "45522:274:21", + "statements": [ + { + "body": { + "nativeSrc": "45568:83:21", + "nodeType": "YulBlock", + "src": "45568:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "45570:77:21", + "nodeType": "YulIdentifier", + "src": "45570:77:21" + }, + "nativeSrc": "45570:79:21", + "nodeType": "YulFunctionCall", + "src": "45570:79:21" + }, + "nativeSrc": "45570:79:21", + "nodeType": "YulExpressionStatement", + "src": "45570:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "45543:7:21", + "nodeType": "YulIdentifier", + "src": "45543:7:21" + }, + { + "name": "headStart", + "nativeSrc": "45552:9:21", + "nodeType": "YulIdentifier", + "src": "45552:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "45539:3:21", + "nodeType": "YulIdentifier", + "src": "45539:3:21" + }, + "nativeSrc": "45539:23:21", + "nodeType": "YulFunctionCall", + "src": "45539:23:21" + }, + { + "kind": "number", + "nativeSrc": "45564:2:21", + "nodeType": "YulLiteral", + "src": "45564:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "45535:3:21", + "nodeType": "YulIdentifier", + "src": "45535:3:21" + }, + "nativeSrc": "45535:32:21", + "nodeType": "YulFunctionCall", + "src": "45535:32:21" + }, + "nativeSrc": "45532:119:21", + "nodeType": "YulIf", + "src": "45532:119:21" + }, + { + "nativeSrc": "45661:128:21", + "nodeType": "YulBlock", + "src": "45661:128:21", + "statements": [ + { + "nativeSrc": "45676:15:21", + "nodeType": "YulVariableDeclaration", + "src": "45676:15:21", + "value": { + "kind": "number", + "nativeSrc": "45690:1:21", + "nodeType": "YulLiteral", + "src": "45690:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "45680:6:21", + "nodeType": "YulTypedName", + "src": "45680:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "45705:74:21", + "nodeType": "YulAssignment", + "src": "45705:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45751:9:21", + "nodeType": "YulIdentifier", + "src": "45751:9:21" + }, + { + "name": "offset", + "nativeSrc": "45762:6:21", + "nodeType": "YulIdentifier", + "src": "45762:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45747:3:21", + "nodeType": "YulIdentifier", + "src": "45747:3:21" + }, + "nativeSrc": "45747:22:21", + "nodeType": "YulFunctionCall", + "src": "45747:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "45771:7:21", + "nodeType": "YulIdentifier", + "src": "45771:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "45715:31:21", + "nodeType": "YulIdentifier", + "src": "45715:31:21" + }, + "nativeSrc": "45715:64:21", + "nodeType": "YulFunctionCall", + "src": "45715:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "45705:6:21", + "nodeType": "YulIdentifier", + "src": "45705:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "45445:351:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45492:9:21", + "nodeType": "YulTypedName", + "src": "45492:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "45503:7:21", + "nodeType": "YulTypedName", + "src": "45503:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "45515:6:21", + "nodeType": "YulTypedName", + "src": "45515:6:21", + "type": "" + } + ], + "src": "45445:351:21" + }, + { + "body": { + "nativeSrc": "45928:206:21", + "nodeType": "YulBlock", + "src": "45928:206:21", + "statements": [ + { + "nativeSrc": "45938:26:21", + "nodeType": "YulAssignment", + "src": "45938:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45950:9:21", + "nodeType": "YulIdentifier", + "src": "45950:9:21" + }, + { + "kind": "number", + "nativeSrc": "45961:2:21", + "nodeType": "YulLiteral", + "src": "45961:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45946:3:21", + "nodeType": "YulIdentifier", + "src": "45946:3:21" + }, + "nativeSrc": "45946:18:21", + "nodeType": "YulFunctionCall", + "src": "45946:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "45938:4:21", + "nodeType": "YulIdentifier", + "src": "45938:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "46018:6:21", + "nodeType": "YulIdentifier", + "src": "46018:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46031:9:21", + "nodeType": "YulIdentifier", + "src": "46031:9:21" + }, + { + "kind": "number", + "nativeSrc": "46042:1:21", + "nodeType": "YulLiteral", + "src": "46042:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46027:3:21", + "nodeType": "YulIdentifier", + "src": "46027:3:21" + }, + "nativeSrc": "46027:17:21", + "nodeType": "YulFunctionCall", + "src": "46027:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "45974:43:21", + "nodeType": "YulIdentifier", + "src": "45974:43:21" + }, + "nativeSrc": "45974:71:21", + "nodeType": "YulFunctionCall", + "src": "45974:71:21" + }, + "nativeSrc": "45974:71:21", + "nodeType": "YulExpressionStatement", + "src": "45974:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "46099:6:21", + "nodeType": "YulIdentifier", + "src": "46099:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46112:9:21", + "nodeType": "YulIdentifier", + "src": "46112:9:21" + }, + { + "kind": "number", + "nativeSrc": "46123:2:21", + "nodeType": "YulLiteral", + "src": "46123:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46108:3:21", + "nodeType": "YulIdentifier", + "src": "46108:3:21" + }, + "nativeSrc": "46108:18:21", + "nodeType": "YulFunctionCall", + "src": "46108:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "46055:43:21", + "nodeType": "YulIdentifier", + "src": "46055:43:21" + }, + "nativeSrc": "46055:72:21", + "nodeType": "YulFunctionCall", + "src": "46055:72:21" + }, + "nativeSrc": "46055:72:21", + "nodeType": "YulExpressionStatement", + "src": "46055:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", + "nativeSrc": "45802:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45892:9:21", + "nodeType": "YulTypedName", + "src": "45892:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "45904:6:21", + "nodeType": "YulTypedName", + "src": "45904:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "45912:6:21", + "nodeType": "YulTypedName", + "src": "45912:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "45923:4:21", + "nodeType": "YulTypedName", + "src": "45923:4:21", + "type": "" + } + ], + "src": "45802:332:21" + }, + { + "body": { + "nativeSrc": "46246:119:21", + "nodeType": "YulBlock", + "src": "46246:119:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "46268:6:21", + "nodeType": "YulIdentifier", + "src": "46268:6:21" + }, + { + "kind": "number", + "nativeSrc": "46276:1:21", + "nodeType": "YulLiteral", + "src": "46276:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46264:3:21", + "nodeType": "YulIdentifier", + "src": "46264:3:21" + }, + "nativeSrc": "46264:14:21", + "nodeType": "YulFunctionCall", + "src": "46264:14:21" + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f", + "kind": "string", + "nativeSrc": "46280:34:21", + "nodeType": "YulLiteral", + "src": "46280:34:21", + "type": "", + "value": "Address: insufficient balance fo" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46257:6:21", + "nodeType": "YulIdentifier", + "src": "46257:6:21" + }, + "nativeSrc": "46257:58:21", + "nodeType": "YulFunctionCall", + "src": "46257:58:21" + }, + "nativeSrc": "46257:58:21", + "nodeType": "YulExpressionStatement", + "src": "46257:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "46336:6:21", + "nodeType": "YulIdentifier", + "src": "46336:6:21" + }, + { + "kind": "number", + "nativeSrc": "46344:2:21", + "nodeType": "YulLiteral", + "src": "46344:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46332:3:21", + "nodeType": "YulIdentifier", + "src": "46332:3:21" + }, + "nativeSrc": "46332:15:21", + "nodeType": "YulFunctionCall", + "src": "46332:15:21" + }, + { + "hexValue": "722063616c6c", + "kind": "string", + "nativeSrc": "46349:8:21", + "nodeType": "YulLiteral", + "src": "46349:8:21", + "type": "", + "value": "r call" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46325:6:21", + "nodeType": "YulIdentifier", + "src": "46325:6:21" + }, + "nativeSrc": "46325:33:21", + "nodeType": "YulFunctionCall", + "src": "46325:33:21" + }, + "nativeSrc": "46325:33:21", + "nodeType": "YulExpressionStatement", + "src": "46325:33:21" + } + ] + }, + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nativeSrc": "46140:225:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "46238:6:21", + "nodeType": "YulTypedName", + "src": "46238:6:21", + "type": "" + } + ], + "src": "46140:225:21" + }, + { + "body": { + "nativeSrc": "46517:220:21", + "nodeType": "YulBlock", + "src": "46517:220:21", + "statements": [ + { + "nativeSrc": "46527:74:21", + "nodeType": "YulAssignment", + "src": "46527:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46593:3:21", + "nodeType": "YulIdentifier", + "src": "46593:3:21" + }, + { + "kind": "number", + "nativeSrc": "46598:2:21", + "nodeType": "YulLiteral", + "src": "46598:2:21", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "46534:58:21", + "nodeType": "YulIdentifier", + "src": "46534:58:21" + }, + "nativeSrc": "46534:67:21", + "nodeType": "YulFunctionCall", + "src": "46534:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "46527:3:21", + "nodeType": "YulIdentifier", + "src": "46527:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46699:3:21", + "nodeType": "YulIdentifier", + "src": "46699:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nativeSrc": "46610:88:21", + "nodeType": "YulIdentifier", + "src": "46610:88:21" + }, + "nativeSrc": "46610:93:21", + "nodeType": "YulFunctionCall", + "src": "46610:93:21" + }, + "nativeSrc": "46610:93:21", + "nodeType": "YulExpressionStatement", + "src": "46610:93:21" + }, + { + "nativeSrc": "46712:19:21", + "nodeType": "YulAssignment", + "src": "46712:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46723:3:21", + "nodeType": "YulIdentifier", + "src": "46723:3:21" + }, + { + "kind": "number", + "nativeSrc": "46728:2:21", + "nodeType": "YulLiteral", + "src": "46728:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46719:3:21", + "nodeType": "YulIdentifier", + "src": "46719:3:21" + }, + "nativeSrc": "46719:12:21", + "nodeType": "YulFunctionCall", + "src": "46719:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "46712:3:21", + "nodeType": "YulIdentifier", + "src": "46712:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nativeSrc": "46371:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "46505:3:21", + "nodeType": "YulTypedName", + "src": "46505:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "46513:3:21", + "nodeType": "YulTypedName", + "src": "46513:3:21", + "type": "" + } + ], + "src": "46371:366:21" + }, + { + "body": { + "nativeSrc": "46914:248:21", + "nodeType": "YulBlock", + "src": "46914:248:21", + "statements": [ + { + "nativeSrc": "46924:26:21", + "nodeType": "YulAssignment", + "src": "46924:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46936:9:21", + "nodeType": "YulIdentifier", + "src": "46936:9:21" + }, + { + "kind": "number", + "nativeSrc": "46947:2:21", + "nodeType": "YulLiteral", + "src": "46947:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46932:3:21", + "nodeType": "YulIdentifier", + "src": "46932:3:21" + }, + "nativeSrc": "46932:18:21", + "nodeType": "YulFunctionCall", + "src": "46932:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "46924:4:21", + "nodeType": "YulIdentifier", + "src": "46924:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46971:9:21", + "nodeType": "YulIdentifier", + "src": "46971:9:21" + }, + { + "kind": "number", + "nativeSrc": "46982:1:21", + "nodeType": "YulLiteral", + "src": "46982:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46967:3:21", + "nodeType": "YulIdentifier", + "src": "46967:3:21" + }, + "nativeSrc": "46967:17:21", + "nodeType": "YulFunctionCall", + "src": "46967:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "46990:4:21", + "nodeType": "YulIdentifier", + "src": "46990:4:21" + }, + { + "name": "headStart", + "nativeSrc": "46996:9:21", + "nodeType": "YulIdentifier", + "src": "46996:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "46986:3:21", + "nodeType": "YulIdentifier", + "src": "46986:3:21" + }, + "nativeSrc": "46986:20:21", + "nodeType": "YulFunctionCall", + "src": "46986:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46960:6:21", + "nodeType": "YulIdentifier", + "src": "46960:6:21" + }, + "nativeSrc": "46960:47:21", + "nodeType": "YulFunctionCall", + "src": "46960:47:21" + }, + "nativeSrc": "46960:47:21", + "nodeType": "YulExpressionStatement", + "src": "46960:47:21" + }, + { + "nativeSrc": "47016:139:21", + "nodeType": "YulAssignment", + "src": "47016:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "47150:4:21", + "nodeType": "YulIdentifier", + "src": "47150:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nativeSrc": "47024:124:21", + "nodeType": "YulIdentifier", + "src": "47024:124:21" + }, + "nativeSrc": "47024:131:21", + "nodeType": "YulFunctionCall", + "src": "47024:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "47016:4:21", + "nodeType": "YulIdentifier", + "src": "47016:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "46743:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "46894:9:21", + "nodeType": "YulTypedName", + "src": "46894:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "46909:4:21", + "nodeType": "YulTypedName", + "src": "46909:4:21", + "type": "" + } + ], + "src": "46743:419:21" + }, + { + "body": { + "nativeSrc": "47260:229:21", + "nodeType": "YulBlock", + "src": "47260:229:21", + "statements": [ + { + "body": { + "nativeSrc": "47365:22:21", + "nodeType": "YulBlock", + "src": "47365:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "47367:16:21", + "nodeType": "YulIdentifier", + "src": "47367:16:21" + }, + "nativeSrc": "47367:18:21", + "nodeType": "YulFunctionCall", + "src": "47367:18:21" + }, + "nativeSrc": "47367:18:21", + "nodeType": "YulExpressionStatement", + "src": "47367:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47337:6:21", + "nodeType": "YulIdentifier", + "src": "47337:6:21" + }, + { + "kind": "number", + "nativeSrc": "47345:18:21", + "nodeType": "YulLiteral", + "src": "47345:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "47334:2:21", + "nodeType": "YulIdentifier", + "src": "47334:2:21" + }, + "nativeSrc": "47334:30:21", + "nodeType": "YulFunctionCall", + "src": "47334:30:21" + }, + "nativeSrc": "47331:56:21", + "nodeType": "YulIf", + "src": "47331:56:21" + }, + { + "nativeSrc": "47397:25:21", + "nodeType": "YulAssignment", + "src": "47397:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47409:6:21", + "nodeType": "YulIdentifier", + "src": "47409:6:21" + }, + { + "kind": "number", + "nativeSrc": "47417:4:21", + "nodeType": "YulLiteral", + "src": "47417:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "47405:3:21", + "nodeType": "YulIdentifier", + "src": "47405:3:21" + }, + "nativeSrc": "47405:17:21", + "nodeType": "YulFunctionCall", + "src": "47405:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47397:4:21", + "nodeType": "YulIdentifier", + "src": "47397:4:21" + } + ] + }, + { + "nativeSrc": "47459:23:21", + "nodeType": "YulAssignment", + "src": "47459:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "47471:4:21", + "nodeType": "YulIdentifier", + "src": "47471:4:21" + }, + { + "kind": "number", + "nativeSrc": "47477:4:21", + "nodeType": "YulLiteral", + "src": "47477:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "47467:3:21", + "nodeType": "YulIdentifier", + "src": "47467:3:21" + }, + "nativeSrc": "47467:15:21", + "nodeType": "YulFunctionCall", + "src": "47467:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47459:4:21", + "nodeType": "YulIdentifier", + "src": "47459:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "47168:321:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "47244:6:21", + "nodeType": "YulTypedName", + "src": "47244:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "47255:4:21", + "nodeType": "YulTypedName", + "src": "47255:4:21", + "type": "" + } + ], + "src": "47168:321:21" + }, + { + "body": { + "nativeSrc": "47562:241:21", + "nodeType": "YulBlock", + "src": "47562:241:21", + "statements": [ + { + "body": { + "nativeSrc": "47667:22:21", + "nodeType": "YulBlock", + "src": "47667:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "47669:16:21", + "nodeType": "YulIdentifier", + "src": "47669:16:21" + }, + "nativeSrc": "47669:18:21", + "nodeType": "YulFunctionCall", + "src": "47669:18:21" + }, + "nativeSrc": "47669:18:21", + "nodeType": "YulExpressionStatement", + "src": "47669:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47639:6:21", + "nodeType": "YulIdentifier", + "src": "47639:6:21" + }, + { + "kind": "number", + "nativeSrc": "47647:18:21", + "nodeType": "YulLiteral", + "src": "47647:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "47636:2:21", + "nodeType": "YulIdentifier", + "src": "47636:2:21" + }, + "nativeSrc": "47636:30:21", + "nodeType": "YulFunctionCall", + "src": "47636:30:21" + }, + "nativeSrc": "47633:56:21", + "nodeType": "YulIf", + "src": "47633:56:21" + }, + { + "nativeSrc": "47699:37:21", + "nodeType": "YulAssignment", + "src": "47699:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47729:6:21", + "nodeType": "YulIdentifier", + "src": "47729:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "47707:21:21", + "nodeType": "YulIdentifier", + "src": "47707:21:21" + }, + "nativeSrc": "47707:29:21", + "nodeType": "YulFunctionCall", + "src": "47707:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47699:4:21", + "nodeType": "YulIdentifier", + "src": "47699:4:21" + } + ] + }, + { + "nativeSrc": "47773:23:21", + "nodeType": "YulAssignment", + "src": "47773:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "47785:4:21", + "nodeType": "YulIdentifier", + "src": "47785:4:21" + }, + { + "kind": "number", + "nativeSrc": "47791:4:21", + "nodeType": "YulLiteral", + "src": "47791:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "47781:3:21", + "nodeType": "YulIdentifier", + "src": "47781:3:21" + }, + "nativeSrc": "47781:15:21", + "nodeType": "YulFunctionCall", + "src": "47781:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47773:4:21", + "nodeType": "YulIdentifier", + "src": "47773:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "47495:308:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "47546:6:21", + "nodeType": "YulTypedName", + "src": "47546:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "47557:4:21", + "nodeType": "YulTypedName", + "src": "47557:4:21", + "type": "" + } + ], + "src": "47495:308:21" + }, + { + "body": { + "nativeSrc": "47904:339:21", + "nodeType": "YulBlock", + "src": "47904:339:21", + "statements": [ + { + "nativeSrc": "47914:75:21", + "nodeType": "YulAssignment", + "src": "47914:75:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "47981:6:21", + "nodeType": "YulIdentifier", + "src": "47981:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "47939:41:21", + "nodeType": "YulIdentifier", + "src": "47939:41:21" + }, + "nativeSrc": "47939:49:21", + "nodeType": "YulFunctionCall", + "src": "47939:49:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "47923:15:21", + "nodeType": "YulIdentifier", + "src": "47923:15:21" + }, + "nativeSrc": "47923:66:21", + "nodeType": "YulFunctionCall", + "src": "47923:66:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "47914:5:21", + "nodeType": "YulIdentifier", + "src": "47914:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48005:5:21", + "nodeType": "YulIdentifier", + "src": "48005:5:21" + }, + { + "name": "length", + "nativeSrc": "48012:6:21", + "nodeType": "YulIdentifier", + "src": "48012:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "47998:6:21", + "nodeType": "YulIdentifier", + "src": "47998:6:21" + }, + "nativeSrc": "47998:21:21", + "nodeType": "YulFunctionCall", + "src": "47998:21:21" + }, + "nativeSrc": "47998:21:21", + "nodeType": "YulExpressionStatement", + "src": "47998:21:21" + }, + { + "nativeSrc": "48028:27:21", + "nodeType": "YulVariableDeclaration", + "src": "48028:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48043:5:21", + "nodeType": "YulIdentifier", + "src": "48043:5:21" + }, + { + "kind": "number", + "nativeSrc": "48050:4:21", + "nodeType": "YulLiteral", + "src": "48050:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48039:3:21", + "nodeType": "YulIdentifier", + "src": "48039:3:21" + }, + "nativeSrc": "48039:16:21", + "nodeType": "YulFunctionCall", + "src": "48039:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "48032:3:21", + "nodeType": "YulTypedName", + "src": "48032:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "48093:83:21", + "nodeType": "YulBlock", + "src": "48093:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "48095:77:21", + "nodeType": "YulIdentifier", + "src": "48095:77:21" + }, + "nativeSrc": "48095:79:21", + "nodeType": "YulFunctionCall", + "src": "48095:79:21" + }, + "nativeSrc": "48095:79:21", + "nodeType": "YulExpressionStatement", + "src": "48095:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "48074:3:21", + "nodeType": "YulIdentifier", + "src": "48074:3:21" + }, + { + "name": "length", + "nativeSrc": "48079:6:21", + "nodeType": "YulIdentifier", + "src": "48079:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48070:3:21", + "nodeType": "YulIdentifier", + "src": "48070:3:21" + }, + "nativeSrc": "48070:16:21", + "nodeType": "YulFunctionCall", + "src": "48070:16:21" + }, + { + "name": "end", + "nativeSrc": "48088:3:21", + "nodeType": "YulIdentifier", + "src": "48088:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "48067:2:21", + "nodeType": "YulIdentifier", + "src": "48067:2:21" + }, + "nativeSrc": "48067:25:21", + "nodeType": "YulFunctionCall", + "src": "48067:25:21" + }, + "nativeSrc": "48064:112:21", + "nodeType": "YulIf", + "src": "48064:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "48220:3:21", + "nodeType": "YulIdentifier", + "src": "48220:3:21" + }, + { + "name": "dst", + "nativeSrc": "48225:3:21", + "nodeType": "YulIdentifier", + "src": "48225:3:21" + }, + { + "name": "length", + "nativeSrc": "48230:6:21", + "nodeType": "YulIdentifier", + "src": "48230:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "48185:34:21", + "nodeType": "YulIdentifier", + "src": "48185:34:21" + }, + "nativeSrc": "48185:52:21", + "nodeType": "YulFunctionCall", + "src": "48185:52:21" + }, + "nativeSrc": "48185:52:21", + "nodeType": "YulExpressionStatement", + "src": "48185:52:21" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "47809:434:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "47877:3:21", + "nodeType": "YulTypedName", + "src": "47877:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "47882:6:21", + "nodeType": "YulTypedName", + "src": "47882:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "47890:3:21", + "nodeType": "YulTypedName", + "src": "47890:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "47898:5:21", + "nodeType": "YulTypedName", + "src": "47898:5:21", + "type": "" + } + ], + "src": "47809:434:21" + }, + { + "body": { + "nativeSrc": "48336:282:21", + "nodeType": "YulBlock", + "src": "48336:282:21", + "statements": [ + { + "body": { + "nativeSrc": "48385:83:21", + "nodeType": "YulBlock", + "src": "48385:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "48387:77:21", + "nodeType": "YulIdentifier", + "src": "48387:77:21" + }, + "nativeSrc": "48387:79:21", + "nodeType": "YulFunctionCall", + "src": "48387:79:21" + }, + "nativeSrc": "48387:79:21", + "nodeType": "YulExpressionStatement", + "src": "48387:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48364:6:21", + "nodeType": "YulIdentifier", + "src": "48364:6:21" + }, + { + "kind": "number", + "nativeSrc": "48372:4:21", + "nodeType": "YulLiteral", + "src": "48372:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48360:3:21", + "nodeType": "YulIdentifier", + "src": "48360:3:21" + }, + "nativeSrc": "48360:17:21", + "nodeType": "YulFunctionCall", + "src": "48360:17:21" + }, + { + "name": "end", + "nativeSrc": "48379:3:21", + "nodeType": "YulIdentifier", + "src": "48379:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "48356:3:21", + "nodeType": "YulIdentifier", + "src": "48356:3:21" + }, + "nativeSrc": "48356:27:21", + "nodeType": "YulFunctionCall", + "src": "48356:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "48349:6:21", + "nodeType": "YulIdentifier", + "src": "48349:6:21" + }, + "nativeSrc": "48349:35:21", + "nodeType": "YulFunctionCall", + "src": "48349:35:21" + }, + "nativeSrc": "48346:122:21", + "nodeType": "YulIf", + "src": "48346:122:21" + }, + { + "nativeSrc": "48477:27:21", + "nodeType": "YulVariableDeclaration", + "src": "48477:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48497:6:21", + "nodeType": "YulIdentifier", + "src": "48497:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "48491:5:21", + "nodeType": "YulIdentifier", + "src": "48491:5:21" + }, + "nativeSrc": "48491:13:21", + "nodeType": "YulFunctionCall", + "src": "48491:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "48481:6:21", + "nodeType": "YulTypedName", + "src": "48481:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "48513:99:21", + "nodeType": "YulAssignment", + "src": "48513:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48585:6:21", + "nodeType": "YulIdentifier", + "src": "48585:6:21" + }, + { + "kind": "number", + "nativeSrc": "48593:4:21", + "nodeType": "YulLiteral", + "src": "48593:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48581:3:21", + "nodeType": "YulIdentifier", + "src": "48581:3:21" + }, + "nativeSrc": "48581:17:21", + "nodeType": "YulFunctionCall", + "src": "48581:17:21" + }, + { + "name": "length", + "nativeSrc": "48600:6:21", + "nodeType": "YulIdentifier", + "src": "48600:6:21" + }, + { + "name": "end", + "nativeSrc": "48608:3:21", + "nodeType": "YulIdentifier", + "src": "48608:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "48522:58:21", + "nodeType": "YulIdentifier", + "src": "48522:58:21" + }, + "nativeSrc": "48522:90:21", + "nodeType": "YulFunctionCall", + "src": "48522:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "48513:5:21", + "nodeType": "YulIdentifier", + "src": "48513:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "48263:355:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "48314:6:21", + "nodeType": "YulTypedName", + "src": "48314:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "48322:3:21", + "nodeType": "YulTypedName", + "src": "48322:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "48330:5:21", + "nodeType": "YulTypedName", + "src": "48330:5:21", + "type": "" + } + ], + "src": "48263:355:21" + }, + { + "body": { + "nativeSrc": "48763:837:21", + "nodeType": "YulBlock", + "src": "48763:837:21", + "statements": [ + { + "nativeSrc": "48773:100:21", + "nodeType": "YulAssignment", + "src": "48773:100:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "48865:6:21", + "nodeType": "YulIdentifier", + "src": "48865:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "48798:66:21", + "nodeType": "YulIdentifier", + "src": "48798:66:21" + }, + "nativeSrc": "48798:74:21", + "nodeType": "YulFunctionCall", + "src": "48798:74:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "48782:15:21", + "nodeType": "YulIdentifier", + "src": "48782:15:21" + }, + "nativeSrc": "48782:91:21", + "nodeType": "YulFunctionCall", + "src": "48782:91:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "48773:5:21", + "nodeType": "YulIdentifier", + "src": "48773:5:21" + } + ] + }, + { + "nativeSrc": "48882:16:21", + "nodeType": "YulVariableDeclaration", + "src": "48882:16:21", + "value": { + "name": "array", + "nativeSrc": "48893:5:21", + "nodeType": "YulIdentifier", + "src": "48893:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "48886:3:21", + "nodeType": "YulTypedName", + "src": "48886:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48915:5:21", + "nodeType": "YulIdentifier", + "src": "48915:5:21" + }, + { + "name": "length", + "nativeSrc": "48922:6:21", + "nodeType": "YulIdentifier", + "src": "48922:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "48908:6:21", + "nodeType": "YulIdentifier", + "src": "48908:6:21" + }, + "nativeSrc": "48908:21:21", + "nodeType": "YulFunctionCall", + "src": "48908:21:21" + }, + "nativeSrc": "48908:21:21", + "nodeType": "YulExpressionStatement", + "src": "48908:21:21" + }, + { + "nativeSrc": "48938:23:21", + "nodeType": "YulAssignment", + "src": "48938:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48949:5:21", + "nodeType": "YulIdentifier", + "src": "48949:5:21" + }, + { + "kind": "number", + "nativeSrc": "48956:4:21", + "nodeType": "YulLiteral", + "src": "48956:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48945:3:21", + "nodeType": "YulIdentifier", + "src": "48945:3:21" + }, + "nativeSrc": "48945:16:21", + "nodeType": "YulFunctionCall", + "src": "48945:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "48938:3:21", + "nodeType": "YulIdentifier", + "src": "48938:3:21" + } + ] + }, + { + "nativeSrc": "48971:44:21", + "nodeType": "YulVariableDeclaration", + "src": "48971:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48989:6:21", + "nodeType": "YulIdentifier", + "src": "48989:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "49001:6:21", + "nodeType": "YulIdentifier", + "src": "49001:6:21" + }, + { + "kind": "number", + "nativeSrc": "49009:4:21", + "nodeType": "YulLiteral", + "src": "49009:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "48997:3:21", + "nodeType": "YulIdentifier", + "src": "48997:3:21" + }, + "nativeSrc": "48997:17:21", + "nodeType": "YulFunctionCall", + "src": "48997:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48985:3:21", + "nodeType": "YulIdentifier", + "src": "48985:3:21" + }, + "nativeSrc": "48985:30:21", + "nodeType": "YulFunctionCall", + "src": "48985:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "48975:6:21", + "nodeType": "YulTypedName", + "src": "48975:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "49043:103:21", + "nodeType": "YulBlock", + "src": "49043:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "49057:77:21", + "nodeType": "YulIdentifier", + "src": "49057:77:21" + }, + "nativeSrc": "49057:79:21", + "nodeType": "YulFunctionCall", + "src": "49057:79:21" + }, + "nativeSrc": "49057:79:21", + "nodeType": "YulExpressionStatement", + "src": "49057:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "49030:6:21", + "nodeType": "YulIdentifier", + "src": "49030:6:21" + }, + { + "name": "end", + "nativeSrc": "49038:3:21", + "nodeType": "YulIdentifier", + "src": "49038:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "49027:2:21", + "nodeType": "YulIdentifier", + "src": "49027:2:21" + }, + "nativeSrc": "49027:15:21", + "nodeType": "YulFunctionCall", + "src": "49027:15:21" + }, + "nativeSrc": "49024:122:21", + "nodeType": "YulIf", + "src": "49024:122:21" + }, + { + "body": { + "nativeSrc": "49231:363:21", + "nodeType": "YulBlock", + "src": "49231:363:21", + "statements": [ + { + "nativeSrc": "49246:29:21", + "nodeType": "YulVariableDeclaration", + "src": "49246:29:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49271:3:21", + "nodeType": "YulIdentifier", + "src": "49271:3:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "49265:5:21", + "nodeType": "YulIdentifier", + "src": "49265:5:21" + }, + "nativeSrc": "49265:10:21", + "nodeType": "YulFunctionCall", + "src": "49265:10:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "49250:11:21", + "nodeType": "YulTypedName", + "src": "49250:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "49327:83:21", + "nodeType": "YulBlock", + "src": "49327:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "49329:77:21", + "nodeType": "YulIdentifier", + "src": "49329:77:21" + }, + "nativeSrc": "49329:79:21", + "nodeType": "YulFunctionCall", + "src": "49329:79:21" + }, + "nativeSrc": "49329:79:21", + "nodeType": "YulExpressionStatement", + "src": "49329:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "49294:11:21", + "nodeType": "YulIdentifier", + "src": "49294:11:21" + }, + { + "kind": "number", + "nativeSrc": "49307:18:21", + "nodeType": "YulLiteral", + "src": "49307:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "49291:2:21", + "nodeType": "YulIdentifier", + "src": "49291:2:21" + }, + "nativeSrc": "49291:35:21", + "nodeType": "YulFunctionCall", + "src": "49291:35:21" + }, + "nativeSrc": "49288:122:21", + "nodeType": "YulIf", + "src": "49288:122:21" + }, + { + "nativeSrc": "49423:42:21", + "nodeType": "YulVariableDeclaration", + "src": "49423:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49445:6:21", + "nodeType": "YulIdentifier", + "src": "49445:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "49453:11:21", + "nodeType": "YulIdentifier", + "src": "49453:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49441:3:21", + "nodeType": "YulIdentifier", + "src": "49441:3:21" + }, + "nativeSrc": "49441:24:21", + "nodeType": "YulFunctionCall", + "src": "49441:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "49427:10:21", + "nodeType": "YulTypedName", + "src": "49427:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "49486:3:21", + "nodeType": "YulIdentifier", + "src": "49486:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "49533:10:21", + "nodeType": "YulIdentifier", + "src": "49533:10:21" + }, + { + "name": "end", + "nativeSrc": "49545:3:21", + "nodeType": "YulIdentifier", + "src": "49545:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "49491:41:21", + "nodeType": "YulIdentifier", + "src": "49491:41:21" + }, + "nativeSrc": "49491:58:21", + "nodeType": "YulFunctionCall", + "src": "49491:58:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "49479:6:21", + "nodeType": "YulIdentifier", + "src": "49479:6:21" + }, + "nativeSrc": "49479:71:21", + "nodeType": "YulFunctionCall", + "src": "49479:71:21" + }, + "nativeSrc": "49479:71:21", + "nodeType": "YulExpressionStatement", + "src": "49479:71:21" + }, + { + "nativeSrc": "49563:21:21", + "nodeType": "YulAssignment", + "src": "49563:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "49574:3:21", + "nodeType": "YulIdentifier", + "src": "49574:3:21" + }, + { + "kind": "number", + "nativeSrc": "49579:4:21", + "nodeType": "YulLiteral", + "src": "49579:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49570:3:21", + "nodeType": "YulIdentifier", + "src": "49570:3:21" + }, + "nativeSrc": "49570:14:21", + "nodeType": "YulFunctionCall", + "src": "49570:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "49563:3:21", + "nodeType": "YulIdentifier", + "src": "49563:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49184:3:21", + "nodeType": "YulIdentifier", + "src": "49184:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "49189:6:21", + "nodeType": "YulIdentifier", + "src": "49189:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "49181:2:21", + "nodeType": "YulIdentifier", + "src": "49181:2:21" + }, + "nativeSrc": "49181:15:21", + "nodeType": "YulFunctionCall", + "src": "49181:15:21" + }, + "nativeSrc": "49155:439:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "49197:25:21", + "nodeType": "YulBlock", + "src": "49197:25:21", + "statements": [ + { + "nativeSrc": "49199:21:21", + "nodeType": "YulAssignment", + "src": "49199:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49210:3:21", + "nodeType": "YulIdentifier", + "src": "49210:3:21" + }, + { + "kind": "number", + "nativeSrc": "49215:4:21", + "nodeType": "YulLiteral", + "src": "49215:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49206:3:21", + "nodeType": "YulIdentifier", + "src": "49206:3:21" + }, + "nativeSrc": "49206:14:21", + "nodeType": "YulFunctionCall", + "src": "49206:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "49199:3:21", + "nodeType": "YulIdentifier", + "src": "49199:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "49159:21:21", + "nodeType": "YulBlock", + "src": "49159:21:21", + "statements": [ + { + "nativeSrc": "49161:17:21", + "nodeType": "YulVariableDeclaration", + "src": "49161:17:21", + "value": { + "name": "offset", + "nativeSrc": "49172:6:21", + "nodeType": "YulIdentifier", + "src": "49172:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "49165:3:21", + "nodeType": "YulTypedName", + "src": "49165:3:21", + "type": "" + } + ] + } + ] + }, + "src": "49155:439:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "48640:960:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "48733:6:21", + "nodeType": "YulTypedName", + "src": "48733:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "48741:6:21", + "nodeType": "YulTypedName", + "src": "48741:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "48749:3:21", + "nodeType": "YulTypedName", + "src": "48749:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "48757:5:21", + "nodeType": "YulTypedName", + "src": "48757:5:21", + "type": "" + } + ], + "src": "48640:960:21" + }, + { + "body": { + "nativeSrc": "49720:307:21", + "nodeType": "YulBlock", + "src": "49720:307:21", + "statements": [ + { + "body": { + "nativeSrc": "49769:83:21", + "nodeType": "YulBlock", + "src": "49769:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "49771:77:21", + "nodeType": "YulIdentifier", + "src": "49771:77:21" + }, + "nativeSrc": "49771:79:21", + "nodeType": "YulFunctionCall", + "src": "49771:79:21" + }, + "nativeSrc": "49771:79:21", + "nodeType": "YulExpressionStatement", + "src": "49771:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49748:6:21", + "nodeType": "YulIdentifier", + "src": "49748:6:21" + }, + { + "kind": "number", + "nativeSrc": "49756:4:21", + "nodeType": "YulLiteral", + "src": "49756:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49744:3:21", + "nodeType": "YulIdentifier", + "src": "49744:3:21" + }, + "nativeSrc": "49744:17:21", + "nodeType": "YulFunctionCall", + "src": "49744:17:21" + }, + { + "name": "end", + "nativeSrc": "49763:3:21", + "nodeType": "YulIdentifier", + "src": "49763:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "49740:3:21", + "nodeType": "YulIdentifier", + "src": "49740:3:21" + }, + "nativeSrc": "49740:27:21", + "nodeType": "YulFunctionCall", + "src": "49740:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "49733:6:21", + "nodeType": "YulIdentifier", + "src": "49733:6:21" + }, + "nativeSrc": "49733:35:21", + "nodeType": "YulFunctionCall", + "src": "49733:35:21" + }, + "nativeSrc": "49730:122:21", + "nodeType": "YulIf", + "src": "49730:122:21" + }, + { + "nativeSrc": "49861:27:21", + "nodeType": "YulVariableDeclaration", + "src": "49861:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49881:6:21", + "nodeType": "YulIdentifier", + "src": "49881:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "49875:5:21", + "nodeType": "YulIdentifier", + "src": "49875:5:21" + }, + "nativeSrc": "49875:13:21", + "nodeType": "YulFunctionCall", + "src": "49875:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "49865:6:21", + "nodeType": "YulTypedName", + "src": "49865:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "49897:124:21", + "nodeType": "YulAssignment", + "src": "49897:124:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49994:6:21", + "nodeType": "YulIdentifier", + "src": "49994:6:21" + }, + { + "kind": "number", + "nativeSrc": "50002:4:21", + "nodeType": "YulLiteral", + "src": "50002:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49990:3:21", + "nodeType": "YulIdentifier", + "src": "49990:3:21" + }, + "nativeSrc": "49990:17:21", + "nodeType": "YulFunctionCall", + "src": "49990:17:21" + }, + { + "name": "length", + "nativeSrc": "50009:6:21", + "nodeType": "YulIdentifier", + "src": "50009:6:21" + }, + { + "name": "end", + "nativeSrc": "50017:3:21", + "nodeType": "YulIdentifier", + "src": "50017:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "49906:83:21", + "nodeType": "YulIdentifier", + "src": "49906:83:21" + }, + "nativeSrc": "49906:115:21", + "nodeType": "YulFunctionCall", + "src": "49906:115:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "49897:5:21", + "nodeType": "YulIdentifier", + "src": "49897:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "49622:405:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "49698:6:21", + "nodeType": "YulTypedName", + "src": "49698:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "49706:3:21", + "nodeType": "YulTypedName", + "src": "49706:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "49714:5:21", + "nodeType": "YulTypedName", + "src": "49714:5:21", + "type": "" + } + ], + "src": "49622:405:21" + }, + { + "body": { + "nativeSrc": "50145:462:21", + "nodeType": "YulBlock", + "src": "50145:462:21", + "statements": [ + { + "body": { + "nativeSrc": "50191:83:21", + "nodeType": "YulBlock", + "src": "50191:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "50193:77:21", + "nodeType": "YulIdentifier", + "src": "50193:77:21" + }, + "nativeSrc": "50193:79:21", + "nodeType": "YulFunctionCall", + "src": "50193:79:21" + }, + "nativeSrc": "50193:79:21", + "nodeType": "YulExpressionStatement", + "src": "50193:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "50166:7:21", + "nodeType": "YulIdentifier", + "src": "50166:7:21" + }, + { + "name": "headStart", + "nativeSrc": "50175:9:21", + "nodeType": "YulIdentifier", + "src": "50175:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "50162:3:21", + "nodeType": "YulIdentifier", + "src": "50162:3:21" + }, + "nativeSrc": "50162:23:21", + "nodeType": "YulFunctionCall", + "src": "50162:23:21" + }, + { + "kind": "number", + "nativeSrc": "50187:2:21", + "nodeType": "YulLiteral", + "src": "50187:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "50158:3:21", + "nodeType": "YulIdentifier", + "src": "50158:3:21" + }, + "nativeSrc": "50158:32:21", + "nodeType": "YulFunctionCall", + "src": "50158:32:21" + }, + "nativeSrc": "50155:119:21", + "nodeType": "YulIf", + "src": "50155:119:21" + }, + { + "nativeSrc": "50284:316:21", + "nodeType": "YulBlock", + "src": "50284:316:21", + "statements": [ + { + "nativeSrc": "50299:38:21", + "nodeType": "YulVariableDeclaration", + "src": "50299:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50323:9:21", + "nodeType": "YulIdentifier", + "src": "50323:9:21" + }, + { + "kind": "number", + "nativeSrc": "50334:1:21", + "nodeType": "YulLiteral", + "src": "50334:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50319:3:21", + "nodeType": "YulIdentifier", + "src": "50319:3:21" + }, + "nativeSrc": "50319:17:21", + "nodeType": "YulFunctionCall", + "src": "50319:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "50313:5:21", + "nodeType": "YulIdentifier", + "src": "50313:5:21" + }, + "nativeSrc": "50313:24:21", + "nodeType": "YulFunctionCall", + "src": "50313:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "50303:6:21", + "nodeType": "YulTypedName", + "src": "50303:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "50384:83:21", + "nodeType": "YulBlock", + "src": "50384:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "50386:77:21", + "nodeType": "YulIdentifier", + "src": "50386:77:21" + }, + "nativeSrc": "50386:79:21", + "nodeType": "YulFunctionCall", + "src": "50386:79:21" + }, + "nativeSrc": "50386:79:21", + "nodeType": "YulExpressionStatement", + "src": "50386:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "50356:6:21", + "nodeType": "YulIdentifier", + "src": "50356:6:21" + }, + { + "kind": "number", + "nativeSrc": "50364:18:21", + "nodeType": "YulLiteral", + "src": "50364:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "50353:2:21", + "nodeType": "YulIdentifier", + "src": "50353:2:21" + }, + "nativeSrc": "50353:30:21", + "nodeType": "YulFunctionCall", + "src": "50353:30:21" + }, + "nativeSrc": "50350:117:21", + "nodeType": "YulIf", + "src": "50350:117:21" + }, + { + "nativeSrc": "50481:109:21", + "nodeType": "YulAssignment", + "src": "50481:109:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50562:9:21", + "nodeType": "YulIdentifier", + "src": "50562:9:21" + }, + { + "name": "offset", + "nativeSrc": "50573:6:21", + "nodeType": "YulIdentifier", + "src": "50573:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50558:3:21", + "nodeType": "YulIdentifier", + "src": "50558:3:21" + }, + "nativeSrc": "50558:22:21", + "nodeType": "YulFunctionCall", + "src": "50558:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "50582:7:21", + "nodeType": "YulIdentifier", + "src": "50582:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "50491:66:21", + "nodeType": "YulIdentifier", + "src": "50491:66:21" + }, + "nativeSrc": "50491:99:21", + "nodeType": "YulFunctionCall", + "src": "50491:99:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "50481:6:21", + "nodeType": "YulIdentifier", + "src": "50481:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "50033:574:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "50115:9:21", + "nodeType": "YulTypedName", + "src": "50115:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "50126:7:21", + "nodeType": "YulTypedName", + "src": "50126:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "50138:6:21", + "nodeType": "YulTypedName", + "src": "50138:6:21", + "type": "" + } + ], + "src": "50033:574:21" + }, + { + "body": { + "nativeSrc": "50885:508:21", + "nodeType": "YulBlock", + "src": "50885:508:21", + "statements": [ + { + "nativeSrc": "50895:26:21", + "nodeType": "YulAssignment", + "src": "50895:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50907:9:21", + "nodeType": "YulIdentifier", + "src": "50907:9:21" + }, + { + "kind": "number", + "nativeSrc": "50918:2:21", + "nodeType": "YulLiteral", + "src": "50918:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50903:3:21", + "nodeType": "YulIdentifier", + "src": "50903:3:21" + }, + "nativeSrc": "50903:18:21", + "nodeType": "YulFunctionCall", + "src": "50903:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "50895:4:21", + "nodeType": "YulIdentifier", + "src": "50895:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "50975:6:21", + "nodeType": "YulIdentifier", + "src": "50975:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50988:9:21", + "nodeType": "YulIdentifier", + "src": "50988:9:21" + }, + { + "kind": "number", + "nativeSrc": "50999:1:21", + "nodeType": "YulLiteral", + "src": "50999:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50984:3:21", + "nodeType": "YulIdentifier", + "src": "50984:3:21" + }, + "nativeSrc": "50984:17:21", + "nodeType": "YulFunctionCall", + "src": "50984:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "50931:43:21", + "nodeType": "YulIdentifier", + "src": "50931:43:21" + }, + "nativeSrc": "50931:71:21", + "nodeType": "YulFunctionCall", + "src": "50931:71:21" + }, + "nativeSrc": "50931:71:21", + "nodeType": "YulExpressionStatement", + "src": "50931:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51023:9:21", + "nodeType": "YulIdentifier", + "src": "51023:9:21" + }, + { + "kind": "number", + "nativeSrc": "51034:2:21", + "nodeType": "YulLiteral", + "src": "51034:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51019:3:21", + "nodeType": "YulIdentifier", + "src": "51019:3:21" + }, + "nativeSrc": "51019:18:21", + "nodeType": "YulFunctionCall", + "src": "51019:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "51043:4:21", + "nodeType": "YulIdentifier", + "src": "51043:4:21" + }, + { + "name": "headStart", + "nativeSrc": "51049:9:21", + "nodeType": "YulIdentifier", + "src": "51049:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "51039:3:21", + "nodeType": "YulIdentifier", + "src": "51039:3:21" + }, + "nativeSrc": "51039:20:21", + "nodeType": "YulFunctionCall", + "src": "51039:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51012:6:21", + "nodeType": "YulIdentifier", + "src": "51012:6:21" + }, + "nativeSrc": "51012:48:21", + "nodeType": "YulFunctionCall", + "src": "51012:48:21" + }, + "nativeSrc": "51012:48:21", + "nodeType": "YulExpressionStatement", + "src": "51012:48:21" + }, + { + "nativeSrc": "51069:116:21", + "nodeType": "YulAssignment", + "src": "51069:116:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "51171:6:21", + "nodeType": "YulIdentifier", + "src": "51171:6:21" + }, + { + "name": "tail", + "nativeSrc": "51180:4:21", + "nodeType": "YulIdentifier", + "src": "51180:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "51077:93:21", + "nodeType": "YulIdentifier", + "src": "51077:93:21" + }, + "nativeSrc": "51077:108:21", + "nodeType": "YulFunctionCall", + "src": "51077:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51069:4:21", + "nodeType": "YulIdentifier", + "src": "51069:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51206:9:21", + "nodeType": "YulIdentifier", + "src": "51206:9:21" + }, + { + "kind": "number", + "nativeSrc": "51217:2:21", + "nodeType": "YulLiteral", + "src": "51217:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51202:3:21", + "nodeType": "YulIdentifier", + "src": "51202:3:21" + }, + "nativeSrc": "51202:18:21", + "nodeType": "YulFunctionCall", + "src": "51202:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "51226:4:21", + "nodeType": "YulIdentifier", + "src": "51226:4:21" + }, + { + "name": "headStart", + "nativeSrc": "51232:9:21", + "nodeType": "YulIdentifier", + "src": "51232:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "51222:3:21", + "nodeType": "YulIdentifier", + "src": "51222:3:21" + }, + "nativeSrc": "51222:20:21", + "nodeType": "YulFunctionCall", + "src": "51222:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51195:6:21", + "nodeType": "YulIdentifier", + "src": "51195:6:21" + }, + "nativeSrc": "51195:48:21", + "nodeType": "YulFunctionCall", + "src": "51195:48:21" + }, + "nativeSrc": "51195:48:21", + "nodeType": "YulExpressionStatement", + "src": "51195:48:21" + }, + { + "nativeSrc": "51252:134:21", + "nodeType": "YulAssignment", + "src": "51252:134:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "51372:6:21", + "nodeType": "YulIdentifier", + "src": "51372:6:21" + }, + { + "name": "tail", + "nativeSrc": "51381:4:21", + "nodeType": "YulIdentifier", + "src": "51381:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "51260:111:21", + "nodeType": "YulIdentifier", + "src": "51260:111:21" + }, + "nativeSrc": "51260:126:21", + "nodeType": "YulFunctionCall", + "src": "51260:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51252:4:21", + "nodeType": "YulIdentifier", + "src": "51252:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "50613:780:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "50841:9:21", + "nodeType": "YulTypedName", + "src": "50841:9:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "50853:6:21", + "nodeType": "YulTypedName", + "src": "50853:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "50861:6:21", + "nodeType": "YulTypedName", + "src": "50861:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "50869:6:21", + "nodeType": "YulTypedName", + "src": "50869:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "50880:4:21", + "nodeType": "YulTypedName", + "src": "50880:4:21", + "type": "" + } + ], + "src": "50613:780:21" + }, + { + "body": { + "nativeSrc": "51462:52:21", + "nodeType": "YulBlock", + "src": "51462:52:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "51479:3:21", + "nodeType": "YulIdentifier", + "src": "51479:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "51501:5:21", + "nodeType": "YulIdentifier", + "src": "51501:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "51484:16:21", + "nodeType": "YulIdentifier", + "src": "51484:16:21" + }, + "nativeSrc": "51484:23:21", + "nodeType": "YulFunctionCall", + "src": "51484:23:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51472:6:21", + "nodeType": "YulIdentifier", + "src": "51472:6:21" + }, + "nativeSrc": "51472:36:21", + "nodeType": "YulFunctionCall", + "src": "51472:36:21" + }, + "nativeSrc": "51472:36:21", + "nodeType": "YulExpressionStatement", + "src": "51472:36:21" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "51399:115:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "51450:5:21", + "nodeType": "YulTypedName", + "src": "51450:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "51457:3:21", + "nodeType": "YulTypedName", + "src": "51457:3:21", + "type": "" + } + ], + "src": "51399:115:21" + }, + { + "body": { + "nativeSrc": "51912:844:21", + "nodeType": "YulBlock", + "src": "51912:844:21", + "statements": [ + { + "nativeSrc": "51922:27:21", + "nodeType": "YulAssignment", + "src": "51922:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51934:9:21", + "nodeType": "YulIdentifier", + "src": "51934:9:21" + }, + { + "kind": "number", + "nativeSrc": "51945:3:21", + "nodeType": "YulLiteral", + "src": "51945:3:21", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51930:3:21", + "nodeType": "YulIdentifier", + "src": "51930:3:21" + }, + "nativeSrc": "51930:19:21", + "nodeType": "YulFunctionCall", + "src": "51930:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51922:4:21", + "nodeType": "YulIdentifier", + "src": "51922:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "52023:6:21", + "nodeType": "YulIdentifier", + "src": "52023:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52036:9:21", + "nodeType": "YulIdentifier", + "src": "52036:9:21" + }, + { + "kind": "number", + "nativeSrc": "52047:1:21", + "nodeType": "YulLiteral", + "src": "52047:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52032:3:21", + "nodeType": "YulIdentifier", + "src": "52032:3:21" + }, + "nativeSrc": "52032:17:21", + "nodeType": "YulFunctionCall", + "src": "52032:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "51959:63:21", + "nodeType": "YulIdentifier", + "src": "51959:63:21" + }, + "nativeSrc": "51959:91:21", + "nodeType": "YulFunctionCall", + "src": "51959:91:21" + }, + "nativeSrc": "51959:91:21", + "nodeType": "YulExpressionStatement", + "src": "51959:91:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "52104:6:21", + "nodeType": "YulIdentifier", + "src": "52104:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52117:9:21", + "nodeType": "YulIdentifier", + "src": "52117:9:21" + }, + { + "kind": "number", + "nativeSrc": "52128:2:21", + "nodeType": "YulLiteral", + "src": "52128:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52113:3:21", + "nodeType": "YulIdentifier", + "src": "52113:3:21" + }, + "nativeSrc": "52113:18:21", + "nodeType": "YulFunctionCall", + "src": "52113:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "52060:43:21", + "nodeType": "YulIdentifier", + "src": "52060:43:21" + }, + "nativeSrc": "52060:72:21", + "nodeType": "YulFunctionCall", + "src": "52060:72:21" + }, + "nativeSrc": "52060:72:21", + "nodeType": "YulExpressionStatement", + "src": "52060:72:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52153:9:21", + "nodeType": "YulIdentifier", + "src": "52153:9:21" + }, + { + "kind": "number", + "nativeSrc": "52164:2:21", + "nodeType": "YulLiteral", + "src": "52164:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52149:3:21", + "nodeType": "YulIdentifier", + "src": "52149:3:21" + }, + "nativeSrc": "52149:18:21", + "nodeType": "YulFunctionCall", + "src": "52149:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52173:4:21", + "nodeType": "YulIdentifier", + "src": "52173:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52179:9:21", + "nodeType": "YulIdentifier", + "src": "52179:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52169:3:21", + "nodeType": "YulIdentifier", + "src": "52169:3:21" + }, + "nativeSrc": "52169:20:21", + "nodeType": "YulFunctionCall", + "src": "52169:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52142:6:21", + "nodeType": "YulIdentifier", + "src": "52142:6:21" + }, + "nativeSrc": "52142:48:21", + "nodeType": "YulFunctionCall", + "src": "52142:48:21" + }, + "nativeSrc": "52142:48:21", + "nodeType": "YulExpressionStatement", + "src": "52142:48:21" + }, + { + "nativeSrc": "52199:116:21", + "nodeType": "YulAssignment", + "src": "52199:116:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "52301:6:21", + "nodeType": "YulIdentifier", + "src": "52301:6:21" + }, + { + "name": "tail", + "nativeSrc": "52310:4:21", + "nodeType": "YulIdentifier", + "src": "52310:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "52207:93:21", + "nodeType": "YulIdentifier", + "src": "52207:93:21" + }, + "nativeSrc": "52207:108:21", + "nodeType": "YulFunctionCall", + "src": "52207:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52199:4:21", + "nodeType": "YulIdentifier", + "src": "52199:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52336:9:21", + "nodeType": "YulIdentifier", + "src": "52336:9:21" + }, + { + "kind": "number", + "nativeSrc": "52347:2:21", + "nodeType": "YulLiteral", + "src": "52347:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52332:3:21", + "nodeType": "YulIdentifier", + "src": "52332:3:21" + }, + "nativeSrc": "52332:18:21", + "nodeType": "YulFunctionCall", + "src": "52332:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52356:4:21", + "nodeType": "YulIdentifier", + "src": "52356:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52362:9:21", + "nodeType": "YulIdentifier", + "src": "52362:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52352:3:21", + "nodeType": "YulIdentifier", + "src": "52352:3:21" + }, + "nativeSrc": "52352:20:21", + "nodeType": "YulFunctionCall", + "src": "52352:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52325:6:21", + "nodeType": "YulIdentifier", + "src": "52325:6:21" + }, + "nativeSrc": "52325:48:21", + "nodeType": "YulFunctionCall", + "src": "52325:48:21" + }, + "nativeSrc": "52325:48:21", + "nodeType": "YulExpressionStatement", + "src": "52325:48:21" + }, + { + "nativeSrc": "52382:134:21", + "nodeType": "YulAssignment", + "src": "52382:134:21", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "52502:6:21", + "nodeType": "YulIdentifier", + "src": "52502:6:21" + }, + { + "name": "tail", + "nativeSrc": "52511:4:21", + "nodeType": "YulIdentifier", + "src": "52511:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "52390:111:21", + "nodeType": "YulIdentifier", + "src": "52390:111:21" + }, + "nativeSrc": "52390:126:21", + "nodeType": "YulFunctionCall", + "src": "52390:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52382:4:21", + "nodeType": "YulIdentifier", + "src": "52382:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "52568:6:21", + "nodeType": "YulIdentifier", + "src": "52568:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52581:9:21", + "nodeType": "YulIdentifier", + "src": "52581:9:21" + }, + { + "kind": "number", + "nativeSrc": "52592:3:21", + "nodeType": "YulLiteral", + "src": "52592:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52577:3:21", + "nodeType": "YulIdentifier", + "src": "52577:3:21" + }, + "nativeSrc": "52577:19:21", + "nodeType": "YulFunctionCall", + "src": "52577:19:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "52526:41:21", + "nodeType": "YulIdentifier", + "src": "52526:41:21" + }, + "nativeSrc": "52526:71:21", + "nodeType": "YulFunctionCall", + "src": "52526:71:21" + }, + "nativeSrc": "52526:71:21", + "nodeType": "YulExpressionStatement", + "src": "52526:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52618:9:21", + "nodeType": "YulIdentifier", + "src": "52618:9:21" + }, + { + "kind": "number", + "nativeSrc": "52629:3:21", + "nodeType": "YulLiteral", + "src": "52629:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52614:3:21", + "nodeType": "YulIdentifier", + "src": "52614:3:21" + }, + "nativeSrc": "52614:19:21", + "nodeType": "YulFunctionCall", + "src": "52614:19:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52639:4:21", + "nodeType": "YulIdentifier", + "src": "52639:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52645:9:21", + "nodeType": "YulIdentifier", + "src": "52645:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52635:3:21", + "nodeType": "YulIdentifier", + "src": "52635:3:21" + }, + "nativeSrc": "52635:20:21", + "nodeType": "YulFunctionCall", + "src": "52635:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52607:6:21", + "nodeType": "YulIdentifier", + "src": "52607:6:21" + }, + "nativeSrc": "52607:49:21", + "nodeType": "YulFunctionCall", + "src": "52607:49:21" + }, + "nativeSrc": "52607:49:21", + "nodeType": "YulExpressionStatement", + "src": "52607:49:21" + }, + { + "nativeSrc": "52665:84:21", + "nodeType": "YulAssignment", + "src": "52665:84:21", + "value": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "52735:6:21", + "nodeType": "YulIdentifier", + "src": "52735:6:21" + }, + { + "name": "tail", + "nativeSrc": "52744:4:21", + "nodeType": "YulIdentifier", + "src": "52744:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "52673:61:21", + "nodeType": "YulIdentifier", + "src": "52673:61:21" + }, + "nativeSrc": "52673:76:21", + "nodeType": "YulFunctionCall", + "src": "52673:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52665:4:21", + "nodeType": "YulIdentifier", + "src": "52665:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "51520:1236:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "51844:9:21", + "nodeType": "YulTypedName", + "src": "51844:9:21", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "51856:6:21", + "nodeType": "YulTypedName", + "src": "51856:6:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "51864:6:21", + "nodeType": "YulTypedName", + "src": "51864:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "51872:6:21", + "nodeType": "YulTypedName", + "src": "51872:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "51880:6:21", + "nodeType": "YulTypedName", + "src": "51880:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "51888:6:21", + "nodeType": "YulTypedName", + "src": "51888:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "51896:6:21", + "nodeType": "YulTypedName", + "src": "51896:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "51907:4:21", + "nodeType": "YulTypedName", + "src": "51907:4:21", + "type": "" + } + ], + "src": "51520:1236:21" + }, + { + "body": { + "nativeSrc": "52846:40:21", + "nodeType": "YulBlock", + "src": "52846:40:21", + "statements": [ + { + "nativeSrc": "52857:22:21", + "nodeType": "YulAssignment", + "src": "52857:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "52873:5:21", + "nodeType": "YulIdentifier", + "src": "52873:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "52867:5:21", + "nodeType": "YulIdentifier", + "src": "52867:5:21" + }, + "nativeSrc": "52867:12:21", + "nodeType": "YulFunctionCall", + "src": "52867:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "52857:6:21", + "nodeType": "YulIdentifier", + "src": "52857:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "52762:124:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "52829:5:21", + "nodeType": "YulTypedName", + "src": "52829:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "52839:6:21", + "nodeType": "YulTypedName", + "src": "52839:6:21", + "type": "" + } + ], + "src": "52762:124:21" + }, + { + "body": { + "nativeSrc": "53013:73:21", + "nodeType": "YulBlock", + "src": "53013:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53030:3:21", + "nodeType": "YulIdentifier", + "src": "53030:3:21" + }, + { + "name": "length", + "nativeSrc": "53035:6:21", + "nodeType": "YulIdentifier", + "src": "53035:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "53023:6:21", + "nodeType": "YulIdentifier", + "src": "53023:6:21" + }, + "nativeSrc": "53023:19:21", + "nodeType": "YulFunctionCall", + "src": "53023:19:21" + }, + "nativeSrc": "53023:19:21", + "nodeType": "YulExpressionStatement", + "src": "53023:19:21" + }, + { + "nativeSrc": "53051:29:21", + "nodeType": "YulAssignment", + "src": "53051:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53070:3:21", + "nodeType": "YulIdentifier", + "src": "53070:3:21" + }, + { + "kind": "number", + "nativeSrc": "53075:4:21", + "nodeType": "YulLiteral", + "src": "53075:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53066:3:21", + "nodeType": "YulIdentifier", + "src": "53066:3:21" + }, + "nativeSrc": "53066:14:21", + "nodeType": "YulFunctionCall", + "src": "53066:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "53051:11:21", + "nodeType": "YulIdentifier", + "src": "53051:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "52892:194:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "52985:3:21", + "nodeType": "YulTypedName", + "src": "52985:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "52990:6:21", + "nodeType": "YulTypedName", + "src": "52990:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "53001:11:21", + "nodeType": "YulTypedName", + "src": "53001:11:21", + "type": "" + } + ], + "src": "52892:194:21" + }, + { + "body": { + "nativeSrc": "53174:60:21", + "nodeType": "YulBlock", + "src": "53174:60:21", + "statements": [ + { + "nativeSrc": "53184:11:21", + "nodeType": "YulAssignment", + "src": "53184:11:21", + "value": { + "name": "ptr", + "nativeSrc": "53192:3:21", + "nodeType": "YulIdentifier", + "src": "53192:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "53184:4:21", + "nodeType": "YulIdentifier", + "src": "53184:4:21" + } + ] + }, + { + "nativeSrc": "53205:22:21", + "nodeType": "YulAssignment", + "src": "53205:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "53217:3:21", + "nodeType": "YulIdentifier", + "src": "53217:3:21" + }, + { + "kind": "number", + "nativeSrc": "53222:4:21", + "nodeType": "YulLiteral", + "src": "53222:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53213:3:21", + "nodeType": "YulIdentifier", + "src": "53213:3:21" + }, + "nativeSrc": "53213:14:21", + "nodeType": "YulFunctionCall", + "src": "53213:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "53205:4:21", + "nodeType": "YulIdentifier", + "src": "53205:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "53092:142:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "53161:3:21", + "nodeType": "YulTypedName", + "src": "53161:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "53169:4:21", + "nodeType": "YulTypedName", + "src": "53169:4:21", + "type": "" + } + ], + "src": "53092:142:21" + }, + { + "body": { + "nativeSrc": "53299:40:21", + "nodeType": "YulBlock", + "src": "53299:40:21", + "statements": [ + { + "nativeSrc": "53310:22:21", + "nodeType": "YulAssignment", + "src": "53310:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "53326:5:21", + "nodeType": "YulIdentifier", + "src": "53326:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "53320:5:21", + "nodeType": "YulIdentifier", + "src": "53320:5:21" + }, + "nativeSrc": "53320:12:21", + "nodeType": "YulFunctionCall", + "src": "53320:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "53310:6:21", + "nodeType": "YulIdentifier", + "src": "53310:6:21" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "53240:99:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "53282:5:21", + "nodeType": "YulTypedName", + "src": "53282:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "53292:6:21", + "nodeType": "YulTypedName", + "src": "53292:6:21", + "type": "" + } + ], + "src": "53240:99:21" + }, + { + "body": { + "nativeSrc": "53431:73:21", + "nodeType": "YulBlock", + "src": "53431:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53448:3:21", + "nodeType": "YulIdentifier", + "src": "53448:3:21" + }, + { + "name": "length", + "nativeSrc": "53453:6:21", + "nodeType": "YulIdentifier", + "src": "53453:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "53441:6:21", + "nodeType": "YulIdentifier", + "src": "53441:6:21" + }, + "nativeSrc": "53441:19:21", + "nodeType": "YulFunctionCall", + "src": "53441:19:21" + }, + "nativeSrc": "53441:19:21", + "nodeType": "YulExpressionStatement", + "src": "53441:19:21" + }, + { + "nativeSrc": "53469:29:21", + "nodeType": "YulAssignment", + "src": "53469:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53488:3:21", + "nodeType": "YulIdentifier", + "src": "53488:3:21" + }, + { + "kind": "number", + "nativeSrc": "53493:4:21", + "nodeType": "YulLiteral", + "src": "53493:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53484:3:21", + "nodeType": "YulIdentifier", + "src": "53484:3:21" + }, + "nativeSrc": "53484:14:21", + "nodeType": "YulFunctionCall", + "src": "53484:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "53469:11:21", + "nodeType": "YulIdentifier", + "src": "53469:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "53345:159:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "53403:3:21", + "nodeType": "YulTypedName", + "src": "53403:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "53408:6:21", + "nodeType": "YulTypedName", + "src": "53408:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "53419:11:21", + "nodeType": "YulTypedName", + "src": "53419:11:21", + "type": "" + } + ], + "src": "53345:159:21" + }, + { + "body": { + "nativeSrc": "53592:275:21", + "nodeType": "YulBlock", + "src": "53592:275:21", + "statements": [ + { + "nativeSrc": "53602:53:21", + "nodeType": "YulVariableDeclaration", + "src": "53602:53:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "53649:5:21", + "nodeType": "YulIdentifier", + "src": "53649:5:21" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "53616:32:21", + "nodeType": "YulIdentifier", + "src": "53616:32:21" + }, + "nativeSrc": "53616:39:21", + "nodeType": "YulFunctionCall", + "src": "53616:39:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "53606:6:21", + "nodeType": "YulTypedName", + "src": "53606:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "53664:68:21", + "nodeType": "YulAssignment", + "src": "53664:68:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53720:3:21", + "nodeType": "YulIdentifier", + "src": "53720:3:21" + }, + { + "name": "length", + "nativeSrc": "53725:6:21", + "nodeType": "YulIdentifier", + "src": "53725:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "53671:48:21", + "nodeType": "YulIdentifier", + "src": "53671:48:21" + }, + "nativeSrc": "53671:61:21", + "nodeType": "YulFunctionCall", + "src": "53671:61:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "53664:3:21", + "nodeType": "YulIdentifier", + "src": "53664:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "53780:5:21", + "nodeType": "YulIdentifier", + "src": "53780:5:21" + }, + { + "kind": "number", + "nativeSrc": "53787:4:21", + "nodeType": "YulLiteral", + "src": "53787:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53776:3:21", + "nodeType": "YulIdentifier", + "src": "53776:3:21" + }, + "nativeSrc": "53776:16:21", + "nodeType": "YulFunctionCall", + "src": "53776:16:21" + }, + { + "name": "pos", + "nativeSrc": "53794:3:21", + "nodeType": "YulIdentifier", + "src": "53794:3:21" + }, + { + "name": "length", + "nativeSrc": "53799:6:21", + "nodeType": "YulIdentifier", + "src": "53799:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "53741:34:21", + "nodeType": "YulIdentifier", + "src": "53741:34:21" + }, + "nativeSrc": "53741:65:21", + "nodeType": "YulFunctionCall", + "src": "53741:65:21" + }, + "nativeSrc": "53741:65:21", + "nodeType": "YulExpressionStatement", + "src": "53741:65:21" + }, + { + "nativeSrc": "53815:46:21", + "nodeType": "YulAssignment", + "src": "53815:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53826:3:21", + "nodeType": "YulIdentifier", + "src": "53826:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "53853:6:21", + "nodeType": "YulIdentifier", + "src": "53853:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "53831:21:21", + "nodeType": "YulIdentifier", + "src": "53831:21:21" + }, + "nativeSrc": "53831:29:21", + "nodeType": "YulFunctionCall", + "src": "53831:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53822:3:21", + "nodeType": "YulIdentifier", + "src": "53822:3:21" + }, + "nativeSrc": "53822:39:21", + "nodeType": "YulFunctionCall", + "src": "53822:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "53815:3:21", + "nodeType": "YulIdentifier", + "src": "53815:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53510:357:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "53573:5:21", + "nodeType": "YulTypedName", + "src": "53573:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "53580:3:21", + "nodeType": "YulTypedName", + "src": "53580:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "53588:3:21", + "nodeType": "YulTypedName", + "src": "53588:3:21", + "type": "" + } + ], + "src": "53510:357:21" + }, + { + "body": { + "nativeSrc": "53973:96:21", + "nodeType": "YulBlock", + "src": "53973:96:21", + "statements": [ + { + "nativeSrc": "53983:80:21", + "nodeType": "YulAssignment", + "src": "53983:80:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "54051:6:21", + "nodeType": "YulIdentifier", + "src": "54051:6:21" + }, + { + "name": "pos", + "nativeSrc": "54059:3:21", + "nodeType": "YulIdentifier", + "src": "54059:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53997:53:21", + "nodeType": "YulIdentifier", + "src": "53997:53:21" + }, + "nativeSrc": "53997:66:21", + "nodeType": "YulFunctionCall", + "src": "53997:66:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "53983:10:21", + "nodeType": "YulIdentifier", + "src": "53983:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53873:196:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "53946:6:21", + "nodeType": "YulTypedName", + "src": "53946:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "53954:3:21", + "nodeType": "YulTypedName", + "src": "53954:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "53962:10:21", + "nodeType": "YulTypedName", + "src": "53962:10:21", + "type": "" + } + ], + "src": "53873:196:21" + }, + { + "body": { + "nativeSrc": "54160:38:21", + "nodeType": "YulBlock", + "src": "54160:38:21", + "statements": [ + { + "nativeSrc": "54170:22:21", + "nodeType": "YulAssignment", + "src": "54170:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "54182:3:21", + "nodeType": "YulIdentifier", + "src": "54182:3:21" + }, + { + "kind": "number", + "nativeSrc": "54187:4:21", + "nodeType": "YulLiteral", + "src": "54187:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54178:3:21", + "nodeType": "YulIdentifier", + "src": "54178:3:21" + }, + "nativeSrc": "54178:14:21", + "nodeType": "YulFunctionCall", + "src": "54178:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "54170:4:21", + "nodeType": "YulIdentifier", + "src": "54170:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54075:123:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "54147:3:21", + "nodeType": "YulTypedName", + "src": "54147:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "54155:4:21", + "nodeType": "YulTypedName", + "src": "54155:4:21", + "type": "" + } + ], + "src": "54075:123:21" + }, + { + "body": { + "nativeSrc": "54376:847:21", + "nodeType": "YulBlock", + "src": "54376:847:21", + "statements": [ + { + "nativeSrc": "54386:78:21", + "nodeType": "YulVariableDeclaration", + "src": "54386:78:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "54458:5:21", + "nodeType": "YulIdentifier", + "src": "54458:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54400:57:21", + "nodeType": "YulIdentifier", + "src": "54400:57:21" + }, + "nativeSrc": "54400:64:21", + "nodeType": "YulFunctionCall", + "src": "54400:64:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "54390:6:21", + "nodeType": "YulTypedName", + "src": "54390:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54473:103:21", + "nodeType": "YulAssignment", + "src": "54473:103:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54564:3:21", + "nodeType": "YulIdentifier", + "src": "54564:3:21" + }, + { + "name": "length", + "nativeSrc": "54569:6:21", + "nodeType": "YulIdentifier", + "src": "54569:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "54480:83:21", + "nodeType": "YulIdentifier", + "src": "54480:83:21" + }, + "nativeSrc": "54480:96:21", + "nodeType": "YulFunctionCall", + "src": "54480:96:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "54473:3:21", + "nodeType": "YulIdentifier", + "src": "54473:3:21" + } + ] + }, + { + "nativeSrc": "54585:20:21", + "nodeType": "YulVariableDeclaration", + "src": "54585:20:21", + "value": { + "name": "pos", + "nativeSrc": "54602:3:21", + "nodeType": "YulIdentifier", + "src": "54602:3:21" + }, + "variables": [ + { + "name": "headStart", + "nativeSrc": "54589:9:21", + "nodeType": "YulTypedName", + "src": "54589:9:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54614:39:21", + "nodeType": "YulVariableDeclaration", + "src": "54614:39:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54630:3:21", + "nodeType": "YulIdentifier", + "src": "54630:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "54639:6:21", + "nodeType": "YulIdentifier", + "src": "54639:6:21" + }, + { + "kind": "number", + "nativeSrc": "54647:4:21", + "nodeType": "YulLiteral", + "src": "54647:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "54635:3:21", + "nodeType": "YulIdentifier", + "src": "54635:3:21" + }, + "nativeSrc": "54635:17:21", + "nodeType": "YulFunctionCall", + "src": "54635:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54626:3:21", + "nodeType": "YulIdentifier", + "src": "54626:3:21" + }, + "nativeSrc": "54626:27:21", + "nodeType": "YulFunctionCall", + "src": "54626:27:21" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "54618:4:21", + "nodeType": "YulTypedName", + "src": "54618:4:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54662:81:21", + "nodeType": "YulVariableDeclaration", + "src": "54662:81:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "54737:5:21", + "nodeType": "YulIdentifier", + "src": "54737:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54677:59:21", + "nodeType": "YulIdentifier", + "src": "54677:59:21" + }, + "nativeSrc": "54677:66:21", + "nodeType": "YulFunctionCall", + "src": "54677:66:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "54666:7:21", + "nodeType": "YulTypedName", + "src": "54666:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54752:21:21", + "nodeType": "YulVariableDeclaration", + "src": "54752:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "54766:7:21", + "nodeType": "YulIdentifier", + "src": "54766:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "54756:6:21", + "nodeType": "YulTypedName", + "src": "54756:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "54842:336:21", + "nodeType": "YulBlock", + "src": "54842:336:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54863:3:21", + "nodeType": "YulIdentifier", + "src": "54863:3:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "54872:4:21", + "nodeType": "YulIdentifier", + "src": "54872:4:21" + }, + { + "name": "headStart", + "nativeSrc": "54878:9:21", + "nodeType": "YulIdentifier", + "src": "54878:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "54868:3:21", + "nodeType": "YulIdentifier", + "src": "54868:3:21" + }, + "nativeSrc": "54868:20:21", + "nodeType": "YulFunctionCall", + "src": "54868:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "54856:6:21", + "nodeType": "YulIdentifier", + "src": "54856:6:21" + }, + "nativeSrc": "54856:33:21", + "nodeType": "YulFunctionCall", + "src": "54856:33:21" + }, + "nativeSrc": "54856:33:21", + "nodeType": "YulExpressionStatement", + "src": "54856:33:21" + }, + { + "nativeSrc": "54902:34:21", + "nodeType": "YulVariableDeclaration", + "src": "54902:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "54929:6:21", + "nodeType": "YulIdentifier", + "src": "54929:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "54923:5:21", + "nodeType": "YulIdentifier", + "src": "54923:5:21" + }, + "nativeSrc": "54923:13:21", + "nodeType": "YulFunctionCall", + "src": "54923:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "54906:13:21", + "nodeType": "YulTypedName", + "src": "54906:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54949:92:21", + "nodeType": "YulAssignment", + "src": "54949:92:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "55021:13:21", + "nodeType": "YulIdentifier", + "src": "55021:13:21" + }, + { + "name": "tail", + "nativeSrc": "55036:4:21", + "nodeType": "YulIdentifier", + "src": "55036:4:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "54957:63:21", + "nodeType": "YulIdentifier", + "src": "54957:63:21" + }, + "nativeSrc": "54957:84:21", + "nodeType": "YulFunctionCall", + "src": "54957:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "54949:4:21", + "nodeType": "YulIdentifier", + "src": "54949:4:21" + } + ] + }, + { + "nativeSrc": "55054:80:21", + "nodeType": "YulAssignment", + "src": "55054:80:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "55127:6:21", + "nodeType": "YulIdentifier", + "src": "55127:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "55064:62:21", + "nodeType": "YulIdentifier", + "src": "55064:62:21" + }, + "nativeSrc": "55064:70:21", + "nodeType": "YulFunctionCall", + "src": "55064:70:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "55054:6:21", + "nodeType": "YulIdentifier", + "src": "55054:6:21" + } + ] + }, + { + "nativeSrc": "55147:21:21", + "nodeType": "YulAssignment", + "src": "55147:21:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "55158:3:21", + "nodeType": "YulIdentifier", + "src": "55158:3:21" + }, + { + "kind": "number", + "nativeSrc": "55163:4:21", + "nodeType": "YulLiteral", + "src": "55163:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55154:3:21", + "nodeType": "YulIdentifier", + "src": "55154:3:21" + }, + "nativeSrc": "55154:14:21", + "nodeType": "YulFunctionCall", + "src": "55154:14:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "55147:3:21", + "nodeType": "YulIdentifier", + "src": "55147:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "54804:1:21", + "nodeType": "YulIdentifier", + "src": "54804:1:21" + }, + { + "name": "length", + "nativeSrc": "54807:6:21", + "nodeType": "YulIdentifier", + "src": "54807:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "54801:2:21", + "nodeType": "YulIdentifier", + "src": "54801:2:21" + }, + "nativeSrc": "54801:13:21", + "nodeType": "YulFunctionCall", + "src": "54801:13:21" + }, + "nativeSrc": "54782:396:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "54815:18:21", + "nodeType": "YulBlock", + "src": "54815:18:21", + "statements": [ + { + "nativeSrc": "54817:14:21", + "nodeType": "YulAssignment", + "src": "54817:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "54826:1:21", + "nodeType": "YulIdentifier", + "src": "54826:1:21" + }, + { + "kind": "number", + "nativeSrc": "54829:1:21", + "nodeType": "YulLiteral", + "src": "54829:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54822:3:21", + "nodeType": "YulIdentifier", + "src": "54822:3:21" + }, + "nativeSrc": "54822:9:21", + "nodeType": "YulFunctionCall", + "src": "54822:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "54817:1:21", + "nodeType": "YulIdentifier", + "src": "54817:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "54786:14:21", + "nodeType": "YulBlock", + "src": "54786:14:21", + "statements": [ + { + "nativeSrc": "54788:10:21", + "nodeType": "YulVariableDeclaration", + "src": "54788:10:21", + "value": { + "kind": "number", + "nativeSrc": "54797:1:21", + "nodeType": "YulLiteral", + "src": "54797:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "54792:1:21", + "nodeType": "YulTypedName", + "src": "54792:1:21", + "type": "" + } + ] + } + ] + }, + "src": "54782:396:21" + }, + { + "nativeSrc": "55187:11:21", + "nodeType": "YulAssignment", + "src": "55187:11:21", + "value": { + "name": "tail", + "nativeSrc": "55194:4:21", + "nodeType": "YulIdentifier", + "src": "55194:4:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "55187:3:21", + "nodeType": "YulIdentifier", + "src": "55187:3:21" + } + ] + }, + { + "nativeSrc": "55207:10:21", + "nodeType": "YulAssignment", + "src": "55207:10:21", + "value": { + "name": "pos", + "nativeSrc": "55214:3:21", + "nodeType": "YulIdentifier", + "src": "55214:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "55207:3:21", + "nodeType": "YulIdentifier", + "src": "55207:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "54232:991:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "54355:5:21", + "nodeType": "YulTypedName", + "src": "54355:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "54362:3:21", + "nodeType": "YulTypedName", + "src": "54362:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "54371:3:21", + "nodeType": "YulTypedName", + "src": "54371:3:21", + "type": "" + } + ], + "src": "54232:991:21" + }, + { + "body": { + "nativeSrc": "55543:711:21", + "nodeType": "YulBlock", + "src": "55543:711:21", + "statements": [ + { + "nativeSrc": "55553:27:21", + "nodeType": "YulAssignment", + "src": "55553:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55565:9:21", + "nodeType": "YulIdentifier", + "src": "55565:9:21" + }, + { + "kind": "number", + "nativeSrc": "55576:3:21", + "nodeType": "YulLiteral", + "src": "55576:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55561:3:21", + "nodeType": "YulIdentifier", + "src": "55561:3:21" + }, + "nativeSrc": "55561:19:21", + "nodeType": "YulFunctionCall", + "src": "55561:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55553:4:21", + "nodeType": "YulIdentifier", + "src": "55553:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "55634:6:21", + "nodeType": "YulIdentifier", + "src": "55634:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55647:9:21", + "nodeType": "YulIdentifier", + "src": "55647:9:21" + }, + { + "kind": "number", + "nativeSrc": "55658:1:21", + "nodeType": "YulLiteral", + "src": "55658:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55643:3:21", + "nodeType": "YulIdentifier", + "src": "55643:3:21" + }, + "nativeSrc": "55643:17:21", + "nodeType": "YulFunctionCall", + "src": "55643:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "55590:43:21", + "nodeType": "YulIdentifier", + "src": "55590:43:21" + }, + "nativeSrc": "55590:71:21", + "nodeType": "YulFunctionCall", + "src": "55590:71:21" + }, + "nativeSrc": "55590:71:21", + "nodeType": "YulExpressionStatement", + "src": "55590:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55682:9:21", + "nodeType": "YulIdentifier", + "src": "55682:9:21" + }, + { + "kind": "number", + "nativeSrc": "55693:2:21", + "nodeType": "YulLiteral", + "src": "55693:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55678:3:21", + "nodeType": "YulIdentifier", + "src": "55678:3:21" + }, + "nativeSrc": "55678:18:21", + "nodeType": "YulFunctionCall", + "src": "55678:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "55702:4:21", + "nodeType": "YulIdentifier", + "src": "55702:4:21" + }, + { + "name": "headStart", + "nativeSrc": "55708:9:21", + "nodeType": "YulIdentifier", + "src": "55708:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "55698:3:21", + "nodeType": "YulIdentifier", + "src": "55698:3:21" + }, + "nativeSrc": "55698:20:21", + "nodeType": "YulFunctionCall", + "src": "55698:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "55671:6:21", + "nodeType": "YulIdentifier", + "src": "55671:6:21" + }, + "nativeSrc": "55671:48:21", + "nodeType": "YulFunctionCall", + "src": "55671:48:21" + }, + "nativeSrc": "55671:48:21", + "nodeType": "YulExpressionStatement", + "src": "55671:48:21" + }, + { + "nativeSrc": "55728:136:21", + "nodeType": "YulAssignment", + "src": "55728:136:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "55850:6:21", + "nodeType": "YulIdentifier", + "src": "55850:6:21" + }, + { + "name": "tail", + "nativeSrc": "55859:4:21", + "nodeType": "YulIdentifier", + "src": "55859:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "55736:113:21", + "nodeType": "YulIdentifier", + "src": "55736:113:21" + }, + "nativeSrc": "55736:128:21", + "nodeType": "YulFunctionCall", + "src": "55736:128:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55728:4:21", + "nodeType": "YulIdentifier", + "src": "55728:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55885:9:21", + "nodeType": "YulIdentifier", + "src": "55885:9:21" + }, + { + "kind": "number", + "nativeSrc": "55896:2:21", + "nodeType": "YulLiteral", + "src": "55896:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55881:3:21", + "nodeType": "YulIdentifier", + "src": "55881:3:21" + }, + "nativeSrc": "55881:18:21", + "nodeType": "YulFunctionCall", + "src": "55881:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "55905:4:21", + "nodeType": "YulIdentifier", + "src": "55905:4:21" + }, + { + "name": "headStart", + "nativeSrc": "55911:9:21", + "nodeType": "YulIdentifier", + "src": "55911:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "55901:3:21", + "nodeType": "YulIdentifier", + "src": "55901:3:21" + }, + "nativeSrc": "55901:20:21", + "nodeType": "YulFunctionCall", + "src": "55901:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "55874:6:21", + "nodeType": "YulIdentifier", + "src": "55874:6:21" + }, + "nativeSrc": "55874:48:21", + "nodeType": "YulFunctionCall", + "src": "55874:48:21" + }, + "nativeSrc": "55874:48:21", + "nodeType": "YulExpressionStatement", + "src": "55874:48:21" + }, + { + "nativeSrc": "55931:84:21", + "nodeType": "YulAssignment", + "src": "55931:84:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "56001:6:21", + "nodeType": "YulIdentifier", + "src": "56001:6:21" + }, + { + "name": "tail", + "nativeSrc": "56010:4:21", + "nodeType": "YulIdentifier", + "src": "56010:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "55939:61:21", + "nodeType": "YulIdentifier", + "src": "55939:61:21" + }, + "nativeSrc": "55939:76:21", + "nodeType": "YulFunctionCall", + "src": "55939:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55931:4:21", + "nodeType": "YulIdentifier", + "src": "55931:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "56067:6:21", + "nodeType": "YulIdentifier", + "src": "56067:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "56080:9:21", + "nodeType": "YulIdentifier", + "src": "56080:9:21" + }, + { + "kind": "number", + "nativeSrc": "56091:2:21", + "nodeType": "YulLiteral", + "src": "56091:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56076:3:21", + "nodeType": "YulIdentifier", + "src": "56076:3:21" + }, + "nativeSrc": "56076:18:21", + "nodeType": "YulFunctionCall", + "src": "56076:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "56025:41:21", + "nodeType": "YulIdentifier", + "src": "56025:41:21" + }, + "nativeSrc": "56025:70:21", + "nodeType": "YulFunctionCall", + "src": "56025:70:21" + }, + "nativeSrc": "56025:70:21", + "nodeType": "YulExpressionStatement", + "src": "56025:70:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "56116:9:21", + "nodeType": "YulIdentifier", + "src": "56116:9:21" + }, + { + "kind": "number", + "nativeSrc": "56127:3:21", + "nodeType": "YulLiteral", + "src": "56127:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56112:3:21", + "nodeType": "YulIdentifier", + "src": "56112:3:21" + }, + "nativeSrc": "56112:19:21", + "nodeType": "YulFunctionCall", + "src": "56112:19:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "56137:4:21", + "nodeType": "YulIdentifier", + "src": "56137:4:21" + }, + { + "name": "headStart", + "nativeSrc": "56143:9:21", + "nodeType": "YulIdentifier", + "src": "56143:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "56133:3:21", + "nodeType": "YulIdentifier", + "src": "56133:3:21" + }, + "nativeSrc": "56133:20:21", + "nodeType": "YulFunctionCall", + "src": "56133:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "56105:6:21", + "nodeType": "YulIdentifier", + "src": "56105:6:21" + }, + "nativeSrc": "56105:49:21", + "nodeType": "YulFunctionCall", + "src": "56105:49:21" + }, + "nativeSrc": "56105:49:21", + "nodeType": "YulExpressionStatement", + "src": "56105:49:21" + }, + { + "nativeSrc": "56163:84:21", + "nodeType": "YulAssignment", + "src": "56163:84:21", + "value": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "56233:6:21", + "nodeType": "YulIdentifier", + "src": "56233:6:21" + }, + { + "name": "tail", + "nativeSrc": "56242:4:21", + "nodeType": "YulIdentifier", + "src": "56242:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "56171:61:21", + "nodeType": "YulIdentifier", + "src": "56171:61:21" + }, + "nativeSrc": "56171:76:21", + "nodeType": "YulFunctionCall", + "src": "56171:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "56163:4:21", + "nodeType": "YulIdentifier", + "src": "56163:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "55229:1025:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "55483:9:21", + "nodeType": "YulTypedName", + "src": "55483:9:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "55495:6:21", + "nodeType": "YulTypedName", + "src": "55495:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "55503:6:21", + "nodeType": "YulTypedName", + "src": "55503:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "55511:6:21", + "nodeType": "YulTypedName", + "src": "55511:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "55519:6:21", + "nodeType": "YulTypedName", + "src": "55519:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "55527:6:21", + "nodeType": "YulTypedName", + "src": "55527:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "55538:4:21", + "nodeType": "YulTypedName", + "src": "55538:4:21", + "type": "" + } + ], + "src": "55229:1025:21" + }, + { + "body": { + "nativeSrc": "56366:73:21", + "nodeType": "YulBlock", + "src": "56366:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "56388:6:21", + "nodeType": "YulIdentifier", + "src": "56388:6:21" + }, + { + "kind": "number", + "nativeSrc": "56396:1:21", + "nodeType": "YulLiteral", + "src": "56396:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56384:3:21", + "nodeType": "YulIdentifier", + "src": "56384:3:21" + }, + "nativeSrc": "56384:14:21", + "nodeType": "YulFunctionCall", + "src": "56384:14:21" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nativeSrc": "56400:31:21", + "nodeType": "YulLiteral", + "src": "56400:31:21", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "56377:6:21", + "nodeType": "YulIdentifier", + "src": "56377:6:21" + }, + "nativeSrc": "56377:55:21", + "nodeType": "YulFunctionCall", + "src": "56377:55:21" + }, + "nativeSrc": "56377:55:21", + "nodeType": "YulExpressionStatement", + "src": "56377:55:21" + } + ] + }, + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nativeSrc": "56260:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "56358:6:21", + "nodeType": "YulTypedName", + "src": "56358:6:21", + "type": "" + } + ], + "src": "56260:179:21" + }, + { + "body": { + "nativeSrc": "56591:220:21", + "nodeType": "YulBlock", + "src": "56591:220:21", + "statements": [ + { + "nativeSrc": "56601:74:21", + "nodeType": "YulAssignment", + "src": "56601:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56667:3:21", + "nodeType": "YulIdentifier", + "src": "56667:3:21" + }, + { + "kind": "number", + "nativeSrc": "56672:2:21", + "nodeType": "YulLiteral", + "src": "56672:2:21", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "56608:58:21", + "nodeType": "YulIdentifier", + "src": "56608:58:21" + }, + "nativeSrc": "56608:67:21", + "nodeType": "YulFunctionCall", + "src": "56608:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "56601:3:21", + "nodeType": "YulIdentifier", + "src": "56601:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56773:3:21", + "nodeType": "YulIdentifier", + "src": "56773:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nativeSrc": "56684:88:21", + "nodeType": "YulIdentifier", + "src": "56684:88:21" + }, + "nativeSrc": "56684:93:21", + "nodeType": "YulFunctionCall", + "src": "56684:93:21" + }, + "nativeSrc": "56684:93:21", + "nodeType": "YulExpressionStatement", + "src": "56684:93:21" + }, + { + "nativeSrc": "56786:19:21", + "nodeType": "YulAssignment", + "src": "56786:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56797:3:21", + "nodeType": "YulIdentifier", + "src": "56797:3:21" + }, + { + "kind": "number", + "nativeSrc": "56802:2:21", + "nodeType": "YulLiteral", + "src": "56802:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56793:3:21", + "nodeType": "YulIdentifier", + "src": "56793:3:21" + }, + "nativeSrc": "56793:12:21", + "nodeType": "YulFunctionCall", + "src": "56793:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "56786:3:21", + "nodeType": "YulIdentifier", + "src": "56786:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nativeSrc": "56445:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "56579:3:21", + "nodeType": "YulTypedName", + "src": "56579:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "56587:3:21", + "nodeType": "YulTypedName", + "src": "56587:3:21", + "type": "" + } + ], + "src": "56445:366:21" + }, + { + "body": { + "nativeSrc": "56988:248:21", + "nodeType": "YulBlock", + "src": "56988:248:21", + "statements": [ + { + "nativeSrc": "56998:26:21", + "nodeType": "YulAssignment", + "src": "56998:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "57010:9:21", + "nodeType": "YulIdentifier", + "src": "57010:9:21" + }, + { + "kind": "number", + "nativeSrc": "57021:2:21", + "nodeType": "YulLiteral", + "src": "57021:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57006:3:21", + "nodeType": "YulIdentifier", + "src": "57006:3:21" + }, + "nativeSrc": "57006:18:21", + "nodeType": "YulFunctionCall", + "src": "57006:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "56998:4:21", + "nodeType": "YulIdentifier", + "src": "56998:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "57045:9:21", + "nodeType": "YulIdentifier", + "src": "57045:9:21" + }, + { + "kind": "number", + "nativeSrc": "57056:1:21", + "nodeType": "YulLiteral", + "src": "57056:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57041:3:21", + "nodeType": "YulIdentifier", + "src": "57041:3:21" + }, + "nativeSrc": "57041:17:21", + "nodeType": "YulFunctionCall", + "src": "57041:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "57064:4:21", + "nodeType": "YulIdentifier", + "src": "57064:4:21" + }, + { + "name": "headStart", + "nativeSrc": "57070:9:21", + "nodeType": "YulIdentifier", + "src": "57070:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "57060:3:21", + "nodeType": "YulIdentifier", + "src": "57060:3:21" + }, + "nativeSrc": "57060:20:21", + "nodeType": "YulFunctionCall", + "src": "57060:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "57034:6:21", + "nodeType": "YulIdentifier", + "src": "57034:6:21" + }, + "nativeSrc": "57034:47:21", + "nodeType": "YulFunctionCall", + "src": "57034:47:21" + }, + "nativeSrc": "57034:47:21", + "nodeType": "YulExpressionStatement", + "src": "57034:47:21" + }, + { + "nativeSrc": "57090:139:21", + "nodeType": "YulAssignment", + "src": "57090:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "57224:4:21", + "nodeType": "YulIdentifier", + "src": "57224:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nativeSrc": "57098:124:21", + "nodeType": "YulIdentifier", + "src": "57098:124:21" + }, + "nativeSrc": "57098:131:21", + "nodeType": "YulFunctionCall", + "src": "57098:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "57090:4:21", + "nodeType": "YulIdentifier", + "src": "57090:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "56817:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "56968:9:21", + "nodeType": "YulTypedName", + "src": "56968:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "56983:4:21", + "nodeType": "YulTypedName", + "src": "56983:4:21", + "type": "" + } + ], + "src": "56817:419:21" + }, + { + "body": { + "nativeSrc": "57287:149:21", + "nodeType": "YulBlock", + "src": "57287:149:21", + "statements": [ + { + "nativeSrc": "57297:25:21", + "nodeType": "YulAssignment", + "src": "57297:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57320:1:21", + "nodeType": "YulIdentifier", + "src": "57320:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57302:17:21", + "nodeType": "YulIdentifier", + "src": "57302:17:21" + }, + "nativeSrc": "57302:20:21", + "nodeType": "YulFunctionCall", + "src": "57302:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "57297:1:21", + "nodeType": "YulIdentifier", + "src": "57297:1:21" + } + ] + }, + { + "nativeSrc": "57331:25:21", + "nodeType": "YulAssignment", + "src": "57331:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "57354:1:21", + "nodeType": "YulIdentifier", + "src": "57354:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57336:17:21", + "nodeType": "YulIdentifier", + "src": "57336:17:21" + }, + "nativeSrc": "57336:20:21", + "nodeType": "YulFunctionCall", + "src": "57336:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "57331:1:21", + "nodeType": "YulIdentifier", + "src": "57331:1:21" + } + ] + }, + { + "nativeSrc": "57365:17:21", + "nodeType": "YulAssignment", + "src": "57365:17:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57377:1:21", + "nodeType": "YulIdentifier", + "src": "57377:1:21" + }, + { + "name": "y", + "nativeSrc": "57380:1:21", + "nodeType": "YulIdentifier", + "src": "57380:1:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "57373:3:21", + "nodeType": "YulIdentifier", + "src": "57373:3:21" + }, + "nativeSrc": "57373:9:21", + "nodeType": "YulFunctionCall", + "src": "57373:9:21" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "57365:4:21", + "nodeType": "YulIdentifier", + "src": "57365:4:21" + } + ] + }, + { + "body": { + "nativeSrc": "57407:22:21", + "nodeType": "YulBlock", + "src": "57407:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "57409:16:21", + "nodeType": "YulIdentifier", + "src": "57409:16:21" + }, + "nativeSrc": "57409:18:21", + "nodeType": "YulFunctionCall", + "src": "57409:18:21" + }, + "nativeSrc": "57409:18:21", + "nodeType": "YulExpressionStatement", + "src": "57409:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "57398:4:21", + "nodeType": "YulIdentifier", + "src": "57398:4:21" + }, + { + "name": "x", + "nativeSrc": "57404:1:21", + "nodeType": "YulIdentifier", + "src": "57404:1:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "57395:2:21", + "nodeType": "YulIdentifier", + "src": "57395:2:21" + }, + "nativeSrc": "57395:11:21", + "nodeType": "YulFunctionCall", + "src": "57395:11:21" + }, + "nativeSrc": "57392:37:21", + "nodeType": "YulIf", + "src": "57392:37:21" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "57242:194:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "57273:1:21", + "nodeType": "YulTypedName", + "src": "57273:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "57276:1:21", + "nodeType": "YulTypedName", + "src": "57276:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "57282:4:21", + "nodeType": "YulTypedName", + "src": "57282:4:21", + "type": "" + } + ], + "src": "57242:194:21" + }, + { + "body": { + "nativeSrc": "57485:190:21", + "nodeType": "YulBlock", + "src": "57485:190:21", + "statements": [ + { + "nativeSrc": "57495:33:21", + "nodeType": "YulAssignment", + "src": "57495:33:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57522:5:21", + "nodeType": "YulIdentifier", + "src": "57522:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57504:17:21", + "nodeType": "YulIdentifier", + "src": "57504:17:21" + }, + "nativeSrc": "57504:24:21", + "nodeType": "YulFunctionCall", + "src": "57504:24:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "57495:5:21", + "nodeType": "YulIdentifier", + "src": "57495:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "57618:22:21", + "nodeType": "YulBlock", + "src": "57618:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "57620:16:21", + "nodeType": "YulIdentifier", + "src": "57620:16:21" + }, + "nativeSrc": "57620:18:21", + "nodeType": "YulFunctionCall", + "src": "57620:18:21" + }, + "nativeSrc": "57620:18:21", + "nodeType": "YulExpressionStatement", + "src": "57620:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57543:5:21", + "nodeType": "YulIdentifier", + "src": "57543:5:21" + }, + { + "kind": "number", + "nativeSrc": "57550:66:21", + "nodeType": "YulLiteral", + "src": "57550:66:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "57540:2:21", + "nodeType": "YulIdentifier", + "src": "57540:2:21" + }, + "nativeSrc": "57540:77:21", + "nodeType": "YulFunctionCall", + "src": "57540:77:21" + }, + "nativeSrc": "57537:103:21", + "nodeType": "YulIf", + "src": "57537:103:21" + }, + { + "nativeSrc": "57649:20:21", + "nodeType": "YulAssignment", + "src": "57649:20:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57660:5:21", + "nodeType": "YulIdentifier", + "src": "57660:5:21" + }, + { + "kind": "number", + "nativeSrc": "57667:1:21", + "nodeType": "YulLiteral", + "src": "57667:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57656:3:21", + "nodeType": "YulIdentifier", + "src": "57656:3:21" + }, + "nativeSrc": "57656:13:21", + "nodeType": "YulFunctionCall", + "src": "57656:13:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "57649:3:21", + "nodeType": "YulIdentifier", + "src": "57649:3:21" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "57442:233:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "57471:5:21", + "nodeType": "YulTypedName", + "src": "57471:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "57481:3:21", + "nodeType": "YulTypedName", + "src": "57481:3:21", + "type": "" + } + ], + "src": "57442:233:21" + }, + { + "body": { + "nativeSrc": "57729:362:21", + "nodeType": "YulBlock", + "src": "57729:362:21", + "statements": [ + { + "nativeSrc": "57739:25:21", + "nodeType": "YulAssignment", + "src": "57739:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57762:1:21", + "nodeType": "YulIdentifier", + "src": "57762:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57744:17:21", + "nodeType": "YulIdentifier", + "src": "57744:17:21" + }, + "nativeSrc": "57744:20:21", + "nodeType": "YulFunctionCall", + "src": "57744:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "57739:1:21", + "nodeType": "YulIdentifier", + "src": "57739:1:21" + } + ] + }, + { + "nativeSrc": "57773:25:21", + "nodeType": "YulAssignment", + "src": "57773:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "57796:1:21", + "nodeType": "YulIdentifier", + "src": "57796:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57778:17:21", + "nodeType": "YulIdentifier", + "src": "57778:17:21" + }, + "nativeSrc": "57778:20:21", + "nodeType": "YulFunctionCall", + "src": "57778:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "57773:1:21", + "nodeType": "YulIdentifier", + "src": "57773:1:21" + } + ] + }, + { + "nativeSrc": "57807:28:21", + "nodeType": "YulVariableDeclaration", + "src": "57807:28:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57830:1:21", + "nodeType": "YulIdentifier", + "src": "57830:1:21" + }, + { + "name": "y", + "nativeSrc": "57833:1:21", + "nodeType": "YulIdentifier", + "src": "57833:1:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "57826:3:21", + "nodeType": "YulIdentifier", + "src": "57826:3:21" + }, + "nativeSrc": "57826:9:21", + "nodeType": "YulFunctionCall", + "src": "57826:9:21" + }, + "variables": [ + { + "name": "product_raw", + "nativeSrc": "57811:11:21", + "nodeType": "YulTypedName", + "src": "57811:11:21", + "type": "" + } + ] + }, + { + "nativeSrc": "57844:41:21", + "nodeType": "YulAssignment", + "src": "57844:41:21", + "value": { + "arguments": [ + { + "name": "product_raw", + "nativeSrc": "57873:11:21", + "nodeType": "YulIdentifier", + "src": "57873:11:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57855:17:21", + "nodeType": "YulIdentifier", + "src": "57855:17:21" + }, + "nativeSrc": "57855:30:21", + "nodeType": "YulFunctionCall", + "src": "57855:30:21" + }, + "variableNames": [ + { + "name": "product", + "nativeSrc": "57844:7:21", + "nodeType": "YulIdentifier", + "src": "57844:7:21" + } + ] + }, + { + "body": { + "nativeSrc": "58062:22:21", + "nodeType": "YulBlock", + "src": "58062:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "58064:16:21", + "nodeType": "YulIdentifier", + "src": "58064:16:21" + }, + "nativeSrc": "58064:18:21", + "nodeType": "YulFunctionCall", + "src": "58064:18:21" + }, + "nativeSrc": "58064:18:21", + "nodeType": "YulExpressionStatement", + "src": "58064:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "57995:1:21", + "nodeType": "YulIdentifier", + "src": "57995:1:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "57988:6:21", + "nodeType": "YulIdentifier", + "src": "57988:6:21" + }, + "nativeSrc": "57988:9:21", + "nodeType": "YulFunctionCall", + "src": "57988:9:21" + }, + { + "arguments": [ + { + "name": "y", + "nativeSrc": "58018:1:21", + "nodeType": "YulIdentifier", + "src": "58018:1:21" + }, + { + "arguments": [ + { + "name": "product", + "nativeSrc": "58025:7:21", + "nodeType": "YulIdentifier", + "src": "58025:7:21" + }, + { + "name": "x", + "nativeSrc": "58034:1:21", + "nodeType": "YulIdentifier", + "src": "58034:1:21" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "58021:3:21", + "nodeType": "YulIdentifier", + "src": "58021:3:21" + }, + "nativeSrc": "58021:15:21", + "nodeType": "YulFunctionCall", + "src": "58021:15:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "58015:2:21", + "nodeType": "YulIdentifier", + "src": "58015:2:21" + }, + "nativeSrc": "58015:22:21", + "nodeType": "YulFunctionCall", + "src": "58015:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "57968:2:21", + "nodeType": "YulIdentifier", + "src": "57968:2:21" + }, + "nativeSrc": "57968:83:21", + "nodeType": "YulFunctionCall", + "src": "57968:83:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "57948:6:21", + "nodeType": "YulIdentifier", + "src": "57948:6:21" + }, + "nativeSrc": "57948:113:21", + "nodeType": "YulFunctionCall", + "src": "57948:113:21" + }, + "nativeSrc": "57945:139:21", + "nodeType": "YulIf", + "src": "57945:139:21" + } + ] + }, + "name": "checked_mul_t_uint256", + "nativeSrc": "57681:410:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "57712:1:21", + "nodeType": "YulTypedName", + "src": "57712:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "57715:1:21", + "nodeType": "YulTypedName", + "src": "57715:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nativeSrc": "57721:7:21", + "nodeType": "YulTypedName", + "src": "57721:7:21", + "type": "" + } + ], + "src": "57681:410:21" + }, + { + "body": { + "nativeSrc": "58189:285:21", + "nodeType": "YulBlock", + "src": "58189:285:21", + "statements": [ + { + "nativeSrc": "58199:53:21", + "nodeType": "YulVariableDeclaration", + "src": "58199:53:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "58246:5:21", + "nodeType": "YulIdentifier", + "src": "58246:5:21" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "58213:32:21", + "nodeType": "YulIdentifier", + "src": "58213:32:21" + }, + "nativeSrc": "58213:39:21", + "nodeType": "YulFunctionCall", + "src": "58213:39:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "58203:6:21", + "nodeType": "YulTypedName", + "src": "58203:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "58261:78:21", + "nodeType": "YulAssignment", + "src": "58261:78:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "58327:3:21", + "nodeType": "YulIdentifier", + "src": "58327:3:21" + }, + { + "name": "length", + "nativeSrc": "58332:6:21", + "nodeType": "YulIdentifier", + "src": "58332:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "58268:58:21", + "nodeType": "YulIdentifier", + "src": "58268:58:21" + }, + "nativeSrc": "58268:71:21", + "nodeType": "YulFunctionCall", + "src": "58268:71:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "58261:3:21", + "nodeType": "YulIdentifier", + "src": "58261:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "58387:5:21", + "nodeType": "YulIdentifier", + "src": "58387:5:21" + }, + { + "kind": "number", + "nativeSrc": "58394:4:21", + "nodeType": "YulLiteral", + "src": "58394:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58383:3:21", + "nodeType": "YulIdentifier", + "src": "58383:3:21" + }, + "nativeSrc": "58383:16:21", + "nodeType": "YulFunctionCall", + "src": "58383:16:21" + }, + { + "name": "pos", + "nativeSrc": "58401:3:21", + "nodeType": "YulIdentifier", + "src": "58401:3:21" + }, + { + "name": "length", + "nativeSrc": "58406:6:21", + "nodeType": "YulIdentifier", + "src": "58406:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "58348:34:21", + "nodeType": "YulIdentifier", + "src": "58348:34:21" + }, + "nativeSrc": "58348:65:21", + "nodeType": "YulFunctionCall", + "src": "58348:65:21" + }, + "nativeSrc": "58348:65:21", + "nodeType": "YulExpressionStatement", + "src": "58348:65:21" + }, + { + "nativeSrc": "58422:46:21", + "nodeType": "YulAssignment", + "src": "58422:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "58433:3:21", + "nodeType": "YulIdentifier", + "src": "58433:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "58460:6:21", + "nodeType": "YulIdentifier", + "src": "58460:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "58438:21:21", + "nodeType": "YulIdentifier", + "src": "58438:21:21" + }, + "nativeSrc": "58438:29:21", + "nodeType": "YulFunctionCall", + "src": "58438:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58429:3:21", + "nodeType": "YulIdentifier", + "src": "58429:3:21" + }, + "nativeSrc": "58429:39:21", + "nodeType": "YulFunctionCall", + "src": "58429:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "58422:3:21", + "nodeType": "YulIdentifier", + "src": "58422:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "58097:377:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "58170:5:21", + "nodeType": "YulTypedName", + "src": "58170:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "58177:3:21", + "nodeType": "YulTypedName", + "src": "58177:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "58185:3:21", + "nodeType": "YulTypedName", + "src": "58185:3:21", + "type": "" + } + ], + "src": "58097:377:21" + }, + { + "body": { + "nativeSrc": "58598:195:21", + "nodeType": "YulBlock", + "src": "58598:195:21", + "statements": [ + { + "nativeSrc": "58608:26:21", + "nodeType": "YulAssignment", + "src": "58608:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "58620:9:21", + "nodeType": "YulIdentifier", + "src": "58620:9:21" + }, + { + "kind": "number", + "nativeSrc": "58631:2:21", + "nodeType": "YulLiteral", + "src": "58631:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58616:3:21", + "nodeType": "YulIdentifier", + "src": "58616:3:21" + }, + "nativeSrc": "58616:18:21", + "nodeType": "YulFunctionCall", + "src": "58616:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "58608:4:21", + "nodeType": "YulIdentifier", + "src": "58608:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "58655:9:21", + "nodeType": "YulIdentifier", + "src": "58655:9:21" + }, + { + "kind": "number", + "nativeSrc": "58666:1:21", + "nodeType": "YulLiteral", + "src": "58666:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58651:3:21", + "nodeType": "YulIdentifier", + "src": "58651:3:21" + }, + "nativeSrc": "58651:17:21", + "nodeType": "YulFunctionCall", + "src": "58651:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "58674:4:21", + "nodeType": "YulIdentifier", + "src": "58674:4:21" + }, + { + "name": "headStart", + "nativeSrc": "58680:9:21", + "nodeType": "YulIdentifier", + "src": "58680:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "58670:3:21", + "nodeType": "YulIdentifier", + "src": "58670:3:21" + }, + "nativeSrc": "58670:20:21", + "nodeType": "YulFunctionCall", + "src": "58670:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "58644:6:21", + "nodeType": "YulIdentifier", + "src": "58644:6:21" + }, + "nativeSrc": "58644:47:21", + "nodeType": "YulFunctionCall", + "src": "58644:47:21" + }, + "nativeSrc": "58644:47:21", + "nodeType": "YulExpressionStatement", + "src": "58644:47:21" + }, + { + "nativeSrc": "58700:86:21", + "nodeType": "YulAssignment", + "src": "58700:86:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "58772:6:21", + "nodeType": "YulIdentifier", + "src": "58772:6:21" + }, + { + "name": "tail", + "nativeSrc": "58781:4:21", + "nodeType": "YulIdentifier", + "src": "58781:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "58708:63:21", + "nodeType": "YulIdentifier", + "src": "58708:63:21" + }, + "nativeSrc": "58708:78:21", + "nodeType": "YulFunctionCall", + "src": "58708:78:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "58700:4:21", + "nodeType": "YulIdentifier", + "src": "58700:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "58480:313:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "58570:9:21", + "nodeType": "YulTypedName", + "src": "58570:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "58582:6:21", + "nodeType": "YulTypedName", + "src": "58582:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "58593:4:21", + "nodeType": "YulTypedName", + "src": "58593:4:21", + "type": "" + } + ], + "src": "58480:313:21" + } + ] + }, + "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 cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\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 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_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\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_with_cleanup(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 function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\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 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_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\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$_IEVMVerifier_$798_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IEVMVerifier_$798_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function convert_t_contract$_ENS_$1030_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ENS_$1030_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\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_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\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 mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function convert_t_contract$_INameWrapper_$2401_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_INameWrapper_$2401_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack(value0, add(headStart, 0))\n\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 abi_decode_tuple_t_bytes_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_bytes_calldata_ptrt_address(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\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 // 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 function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, value1, tail)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(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_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, tail)\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28(memPtr) {\n\n mstore(add(memPtr, 0), \"Label is not a number\")\n\n }\n\n function abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_contract$_IEVMVerifier_$798(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEVMVerifier_$798(value) {\n if iszero(eq(value, cleanup_t_contract$_IEVMVerifier_$798(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEVMVerifier_$798(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_contract$_IEVMVerifier_$798(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function array_allocation_size_t_array$_t_bytes32_$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 validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes32[]\n function abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes32_$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 elementPos := src\n\n mstore(dst, abi_decode_t_bytes32(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$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_bytes32_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_IEVMVerifier_$798(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable(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_array$_t_bytes32_$dyn_memory_ptr(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_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_bytes32_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(value0, pos) -> updatedPos {\n abi_encode_t_bytes32_to_t_bytes32(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bytes32[] -> bytes32[]\n function abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_bytes32_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(srcPtr)\n }\n end := pos\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_fromStack(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_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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_with_cleanup(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_fromStack(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_fromStack(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_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n // bytes[]\n function abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(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 := mload(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_fromMemory(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_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1, tail)\n\n }\n\n function store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a(memPtr) {\n\n mstore(add(memPtr, 0), \"param data too short\")\n\n }\n\n function abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a() {\n revert(0, 0)\n }\n\n function revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c() {\n revert(0, 0)\n }\n\n function calldata_array_index_range_access_t_bytes_calldata_ptr(offset, length, startIndex, endIndex) -> offsetOut, lengthOut {\n if gt(startIndex, endIndex) { revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a() }\n if gt(endIndex, length) { revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c() }\n offsetOut := add(offset, mul(startIndex, 1))\n lengthOut := sub(endIndex, startIndex)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f(memPtr) {\n\n mstore(add(memPtr, 0), \"Too many subdomain levels\")\n\n }\n\n function abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function array_dataslot_t_bytes_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4(array, len) -> value {\n\n let length := array_length_t_bytes_calldata_ptr(array, len)\n let dataArea := array\n\n value := cleanup_t_bytes4(calldataload(dataArea))\n\n if lt(length, 4) {\n value := and(\n value,\n shift_left_dynamic(\n mul(8, sub(4, length)),\n 0xffffffff00000000000000000000000000000000000000000000000000000000\n )\n )\n }\n\n }\n\n function store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid selector\")\n\n }\n\n function abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set target add\")\n\n mstore(add(memPtr, 32), \"ress slot for this node\")\n\n }\n\n function abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 55)\n store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 }\n\n function store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set resolver f\")\n\n mstore(add(memPtr, 32), \"or this node\")\n\n }\n\n function abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set target for\")\n\n mstore(add(memPtr, 32), \" this node\")\n\n }\n\n function abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value0, value1, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 32))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_allocation_size_t_array$_t_string_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_string_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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_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_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_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 := mload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value2, tail)\n\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value4, add(headStart, 128))\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value5, tail)\n\n }\n\n function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_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_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value4, tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "3317": [ + { + "length": 32, + "start": 1620 + }, + { + "length": 32, + "start": 4978 + } + ], + "3320": [ + { + "length": 32, + "start": 1656 + }, + { + "length": 32, + "start": 5070 + } + ], + "3323": [ + { + "length": 32, + "start": 3045 + }, + { + "length": 32, + "start": 5226 + }, + { + "length": 32, + "start": 5309 + } + ], + "3325": [ + { + "length": 32, + "start": 4021 + }, + { + "length": 32, + "start": 5524 + } + ] + }, + "linkReferences": { + "contracts/LabelUtils.sol": { + "LabelUtils": [ + { + "length": 20, + "start": 1179 + }, + { + "length": 20, + "start": 1308 + }, + { + "length": 20, + "start": 1491 + }, + { + "length": 20, + "start": 2508 + } + ] + } + }, + "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9061B923 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD358DF77 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD358DF77 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0xD6AE3CD5 EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF00EEBF4 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF470901A EQ PUSH2 0x305 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x9061B923 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xA8E5FBC0 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xAC177C37 EQ PUSH2 0x263 JUMPI DUP1 PUSH4 0xAC8A4A5D EQ PUSH2 0x27F JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2B7AC3F3 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2B7AC3F3 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x3F15457F EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5BDAA916 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x6D74E86E EQ PUSH2 0x1F7 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x15F64386 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x1A33DDAE EQ PUSH2 0x15B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x114 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1DA4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x121 SWAP2 SWAP1 PUSH2 0x1DEC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x152 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x182 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x193 PUSH2 0x652 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2159 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B1 PUSH2 0x676 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BE SWAP2 SWAP1 PUSH2 0x2195 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24D PUSH2 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25A SWAP2 SWAP1 PUSH2 0x22F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x27D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x233A JUMP JUMPDEST PUSH2 0xC07 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xD5C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2BF PUSH2 0xFB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xFD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x31F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31A SWAP2 SWAP1 PUSH2 0x2507 JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x9061B92300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x400 JUMPI POP PUSH32 0x15F6438600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x468 JUMPI POP PUSH32 0xF00EEBF400000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x478 JUMPI POP PUSH2 0x477 DUP3 PUSH2 0x109C JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48D DUP4 PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0x94BC2DB6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D2 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x2651 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE5C4CF73 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x551 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0x8DEA91D DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x625 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP6 DUP6 DUP2 ADD SWAP1 PUSH2 0x6AD SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP10 DUP10 DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0x2978 JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC51CA02A DUP8 DUP8 DUP8 DUP13 PUSH2 0x6FD PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71D SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2C23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x73A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x763 SWAP2 SWAP1 PUSH2 0x2D40 JUMP JUMPDEST SWAP1 POP DUP5 MLOAD DUP2 MLOAD EQ PUSH2 0x7AF JUMPI DUP1 MLOAD DUP6 MLOAD PUSH1 0x40 MLOAD PUSH32 0x2918942500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A6 SWAP3 SWAP2 SWAP1 PUSH2 0x2D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x84A DUP5 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x7C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x126F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD RETURN JUMPDEST PUSH1 0x0 PUSH3 0x15180 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP4 DUP4 SWAP1 POP LT ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89F SWAP1 PUSH2 0x2E35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x4 SWAP1 DUP1 SWAP3 PUSH2 0x8BD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E5F JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x8CA SWAP2 SWAP1 PUSH2 0x2E9A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x9BE DUP2 DUP8 DUP8 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x12BB JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x3 PUSH20 0x0 PUSH4 0x4062ACE3 DUP10 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA03 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA20 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA44 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST GT ISZERO PUSH2 0xA85 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA7C SWAP1 PUSH2 0x2F13 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAD6 DUP9 DUP9 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x0 DUP7 DUP7 SWAP1 PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x2F4B JUMP JUMPDEST SWAP1 POP PUSH4 0x3B3B57DE PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SUB PUSH2 0xBA0 JUMPI PUSH1 0x0 PUSH2 0xB42 DUP11 DUP11 PUSH2 0x496 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xB93 DUP3 DUP3 DUP7 PUSH2 0x1348 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD2 SWAP1 PUSH2 0x2FF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC56 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xC62 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xCA1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC98 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0xD24DBAC998CB2D343FB2B7FE7C54B44DE845182FF5C7B461EF274AFEE047B5E7 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH2 0xD4D SWAP3 SWAP2 SWAP1 PUSH2 0x30A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAB DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xDB7 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xDF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDED SWAP1 PUSH2 0x3143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x704DFB2F4B8F24190956226460D0667A92B988DE5055430D52E6B0315922E2C DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE79 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xED6 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xEE2 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xF21 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF18 SWAP1 PUSH2 0x31D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x88781081CC340609705AF0F96BF3BA64EA267873444E91725BD072F2AF0F44D8 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFA5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3222 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x102A DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1036 DUP2 PUSH2 0x1592 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1071 SWAP2 SWAP1 PUSH2 0x3298 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1084 SWAP2 SWAP1 PUSH2 0x32C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x111E DUP5 DUP7 PUSH2 0x15F1 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP1 SHL SWAP3 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 PUSH2 0x1155 PUSH1 0x1 DUP7 PUSH2 0x1144 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST DUP4 DUP9 PUSH2 0x161C SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x1178 DUP7 PUSH1 0x1 DUP5 DUP9 PUSH2 0x1169 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1173 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1106 JUMP JUMPDEST DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1193 SWAP3 SWAP2 SWAP1 PUSH2 0x3364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1250 JUMPI DUP4 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP4 POP SWAP4 POP POP POP PUSH2 0x1268 JUMP JUMPDEST POP PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL PUSH1 0x0 SWAP3 POP SWAP3 POP POP PUSH2 0x1268 JUMP JUMPDEST POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x12B3 DUP4 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416464726573733A206C6F772D6C6576656C2063616C6C206661696C65640000 DUP2 MSTORE POP PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12E5 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1320 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO PUSH2 0x133A JUMPI DUP1 SWAP3 POP POP POP PUSH2 0x1342 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x13C2 PUSH4 0xF470901A PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13B3 DUP8 PUSH2 0x13A5 DUP9 PUSH2 0x1397 PUSH32 0x0 DUP11 PUSH2 0x1715 JUMP JUMPDEST PUSH2 0x1824 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1905 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1986 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x2571BE3 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1425 SWAP2 SWAP1 PUSH2 0x33E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1442 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1466 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x155B JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6352211E DUP5 PUSH1 0x0 SHR PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1534 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1558 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 PUSH1 0x40 MLOAD PUSH32 0xE0A0507100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E8 SWAP3 SWAP2 SWAP1 PUSH2 0x3440 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1606 JUMPI PUSH2 0x1605 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD DUP3 DUP5 PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST GT ISZERO PUSH2 0x1637 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP4 PUSH1 0x20 DUP7 ADD ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x168D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1684 SWAP1 PUSH2 0x34DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x16B6 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x16F3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16F8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1709 DUP8 DUP4 DUP4 DUP8 PUSH2 0x1B11 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x171D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x173A JUMPI PUSH2 0x1739 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1768 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1788 JUMPI PUSH2 0x1787 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x17BB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x17A6 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x182C PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x184F JUMPI POP PUSH1 0x20 DUP6 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x1860 JUMPI PUSH2 0x185F DUP6 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP6 PUSH1 0x40 ADD MLOAD MLOAD GT ISZERO PUSH2 0x18B2 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH32 0x128E700800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18A9 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x60 ADD DUP2 DUP2 MSTORE POP POP PUSH2 0x18C8 DUP6 PUSH1 0x0 PUSH2 0x1B86 JUMP JUMPDEST PUSH2 0x18FA DUP6 PUSH2 0x18F5 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x18E1 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x190D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH32 0xB00FD63800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x197D DUP4 PUSH2 0x1978 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1964 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD MLOAD GT DUP1 ISZERO PUSH2 0x199F JUMPI POP PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF DUP4 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST ADDRESS DUP4 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB50F2FBC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A29 SWAP2 SWAP1 PUSH2 0x367D JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD DUP7 PUSH1 0x80 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1A4A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH4 0xEA9CD3BF PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH4 0x5BDAA916 PUSH1 0xE0 SHL DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD DUP9 PUSH1 0x40 ADD MLOAD DUP10 PUSH1 0x80 ADD MLOAD DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AC2 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x371A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x556F183000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1B73 JUMPI PUSH1 0x0 DUP4 MLOAD SUB PUSH2 0x1B6B JUMPI PUSH2 0x1B2B DUP6 PUSH2 0x1C6A JUMP JUMPDEST PUSH2 0x1B6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B61 SWAP1 PUSH2 0x395B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP3 SWAP1 POP PUSH2 0x1B7E JUMP JUMPDEST PUSH2 0x1B7D DUP4 DUP4 PUSH2 0x1C8D JUMP JUMPDEST JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH1 0x40 ADD MLOAD MLOAD PUSH2 0x1B9A SWAP2 SWAP1 PUSH2 0x397B JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x60 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x1BAE SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP2 MSTORE POP PUSH1 0x8 PUSH2 0x1BBD SWAP2 SWAP1 PUSH2 0x39F7 JUMP JUMPDEST DUP3 PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD OR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C1C JUMPI PUSH2 0x1C1B PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x80 ADD MLOAD SWAP1 POP DUP1 MLOAD SWAP2 POP PUSH1 0x1 DUP3 ADD DUP2 MSTORE DUP3 DUP2 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1C58 JUMPI PUSH2 0x1C57 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT ISZERO PUSH2 0x1CA0 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD4 SWAP2 SWAP1 PUSH2 0x3A72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D81 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP2 EQ PUSH2 0x1D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D9E DUP2 PUSH2 0x1D78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DB9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DE6 DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E01 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP 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 0x1E5A DUP3 PUSH2 0x1E11 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1E79 JUMPI PUSH2 0x1E78 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8C PUSH2 0x1D38 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E98 DUP3 DUP3 PUSH2 0x1E51 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1EB8 JUMPI PUSH2 0x1EB7 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC1 DUP3 PUSH2 0x1E11 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 0x1EF0 PUSH2 0x1EEB DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1F0C JUMPI PUSH2 0x1F0B PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x1F17 DUP5 DUP3 DUP6 PUSH2 0x1ECE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1F34 JUMPI PUSH2 0x1F33 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F44 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EDD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F63 JUMPI PUSH2 0x1F62 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F81 JUMPI PUSH2 0x1F80 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1F8D DUP5 DUP3 DUP6 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA9 DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDA DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FEA DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2005 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FA0 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2039 JUMPI PUSH2 0x2038 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2056 JUMPI PUSH2 0x2055 PUSH2 0x2019 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2072 JUMPI PUSH2 0x2071 PUSH2 0x201E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2090 JUMPI PUSH2 0x208F PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20AE JUMPI PUSH2 0x20AD PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x20BA DUP6 DUP3 DUP7 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x20D9 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211F PUSH2 0x211A PUSH2 0x2115 DUP5 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x20FA JUMP JUMPDEST PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2131 DUP3 PUSH2 0x2104 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2153 DUP2 PUSH2 0x2138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x216E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x214A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217F DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x218F DUP2 PUSH2 0x2174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x21AA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2186 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x21CA JUMPI PUSH2 0x21C9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21E8 JUMPI PUSH2 0x21E7 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x21F4 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2217 JUMPI PUSH2 0x2216 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2223 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 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 0x226B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2282 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x228C DUP2 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x229C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x22A5 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22CA DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DD DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x22ED DUP2 PUSH2 0x22D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2308 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2317 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x2322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2334 DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2353 JUMPI PUSH2 0x2352 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2371 JUMPI PUSH2 0x2370 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x237D DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x2390 DUP7 DUP3 DUP8 ADD PUSH2 0x2325 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x23A3 DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP2 EQ PUSH2 0x23AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x23C0 DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x23DF JUMPI PUSH2 0x23DE PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23FD JUMPI PUSH2 0x23FC PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2409 DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x241C DUP7 DUP3 DUP8 ADD PUSH2 0x23B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2441 JUMPI PUSH2 0x2440 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2465 PUSH2 0x2460 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2488 JUMPI PUSH2 0x2487 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x24CF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24AD JUMPI PUSH2 0x24AC PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x24BA DUP10 DUP3 PUSH2 0x1F1F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x248A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EE JUMPI PUSH2 0x24ED PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x24FE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2452 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x251E JUMPI PUSH2 0x251D PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253C JUMPI PUSH2 0x253B PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2548 DUP6 DUP3 DUP7 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2569 JUMPI PUSH2 0x2568 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2575 DUP6 DUP3 DUP7 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x259C DUP4 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x25A9 DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x25B2 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25D8 DUP2 DUP5 DUP7 PUSH2 0x2590 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F4 PUSH2 0x25EF DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x260F PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x261B DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2638 JUMPI PUSH2 0x2637 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2648 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2667 JUMPI PUSH2 0x2666 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2685 JUMPI PUSH2 0x2684 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2691 DUP5 DUP3 DUP6 ADD PUSH2 0x2623 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A5 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x26AF DUP2 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x26BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x26C8 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26ED DUP2 DUP5 PUSH2 0x269A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x26FE DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x26F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2737 JUMPI PUSH2 0x2736 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2745 DUP5 DUP3 DUP6 ADD PUSH2 0x270C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4C6162656C206973206E6F742061206E756D6265720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2795 PUSH1 0x15 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x27A0 DUP3 PUSH2 0x275F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27C4 DUP2 PUSH2 0x2788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27DA DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2804 DUP5 DUP3 DUP6 ADD PUSH2 0x27CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 DUP3 PUSH2 0x1FCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2828 DUP2 PUSH2 0x280D JUMP JUMPDEST DUP2 EQ PUSH2 0x2833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2845 DUP2 PUSH2 0x281F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2856 DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2866 DUP2 PUSH2 0x284B JUMP JUMPDEST DUP2 EQ PUSH2 0x2871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2883 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x28A4 JUMPI PUSH2 0x28A3 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28BE DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP2 EQ PUSH2 0x28C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28DB DUP2 PUSH2 0x28B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F4 PUSH2 0x28EF DUP5 PUSH2 0x2889 JUMP JUMPDEST PUSH2 0x1E82 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 0x2917 JUMPI PUSH2 0x2916 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2940 JUMPI DUP1 PUSH2 0x292C DUP9 DUP3 PUSH2 0x28CC JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2919 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x295F JUMPI PUSH2 0x295E PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x296F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2995 JUMPI PUSH2 0x2994 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x29A3 DUP10 DUP3 DUP11 ADD PUSH2 0x2836 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x29B4 DUP10 DUP3 DUP11 ADD PUSH2 0x2874 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D5 JUMPI PUSH2 0x29D4 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x29E1 DUP10 DUP3 DUP11 ADD PUSH2 0x294A JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A02 JUMPI PUSH2 0x2A01 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A0E DUP10 DUP3 DUP11 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2A1F DUP10 DUP3 DUP11 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A40 JUMPI PUSH2 0x2A3F PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A4C DUP10 DUP3 DUP11 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 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 PUSH2 0x2A8E DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA0 DUP4 DUP4 PUSH2 0x2A85 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC4 DUP3 PUSH2 0x2A59 JUMP JUMPDEST PUSH2 0x2ACE DUP2 DUP6 PUSH2 0x2A64 JUMP JUMPDEST SWAP4 POP PUSH2 0x2AD9 DUP4 PUSH2 0x2A75 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2B0A JUMPI DUP2 MLOAD PUSH2 0x2AF1 DUP9 DUP3 PUSH2 0x2A94 JUMP JUMPDEST SWAP8 POP PUSH2 0x2AFC DUP4 PUSH2 0x2AAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2ADD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5F DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x2B69 DUP2 DUP6 PUSH2 0x2B43 JUMP JUMPDEST SWAP4 POP PUSH2 0x2B79 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x2B82 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B99 DUP4 DUP4 PUSH2 0x2B54 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 0x2BB9 DUP3 PUSH2 0x2B17 JUMP JUMPDEST PUSH2 0x2BC3 DUP2 DUP6 PUSH2 0x2B22 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2BD5 DUP6 PUSH2 0x2B33 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2C11 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2BF2 DUP6 DUP3 PUSH2 0x2B8D JUMP JUMPDEST SWAP5 POP PUSH2 0x2BFD DUP4 PUSH2 0x2BA1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2BD9 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2C38 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2C4A DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2C5E DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2C72 DUP2 DUP6 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x2C81 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C9E PUSH2 0x2C99 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2CC1 JUMPI PUSH2 0x2CC0 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D08 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CE6 JUMPI PUSH2 0x2CE5 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x2CF3 DUP10 DUP3 PUSH2 0x2623 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2CC3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D27 JUMPI PUSH2 0x2D26 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2D37 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2C8B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D56 JUMPI PUSH2 0x2D55 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D74 JUMPI PUSH2 0x2D73 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2D80 DUP5 DUP3 DUP6 ADD PUSH2 0x2D12 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2D9E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x2DAB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2DCC DUP2 DUP6 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2DE0 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x706172616D206461746120746F6F2073686F7274000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E1F PUSH1 0x14 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2E2A DUP3 PUSH2 0x2DE9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E4E DUP2 PUSH2 0x2E12 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x2E73 JUMPI PUSH2 0x2E72 PUSH2 0x2E55 JUMP JUMPDEST JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x2E84 JUMPI PUSH2 0x2E83 PUSH2 0x2E5A JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 MUL DUP4 ADD SWAP2 POP DUP5 DUP7 SUB SWAP1 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EB0 JUMPI PUSH2 0x2EAF PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2EBE DUP5 DUP3 DUP6 ADD PUSH2 0x28CC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x546F6F206D616E7920737562646F6D61696E206C6576656C7300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EFD PUSH1 0x19 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2F08 DUP3 PUSH2 0x2EC7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F2C DUP2 PUSH2 0x2EF0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F57 DUP4 DUP4 PUSH2 0x2F33 JUMP JUMPDEST DUP3 PUSH2 0x2F62 DUP2 CALLDATALOAD PUSH2 0x1D4C JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x2FA2 JUMPI PUSH2 0x2F9D PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x4 SUB PUSH1 0x8 MUL PUSH2 0x2F3E JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642073656C6563746F7200000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE0 PUSH1 0x10 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2FEB DUP3 PUSH2 0x2FAA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x300F DUP2 PUSH2 0x2FD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737320736C6F7420666F722074686973206E6F6465000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3072 PUSH1 0x37 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x307D DUP3 PUSH2 0x3016 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30A1 DUP2 PUSH2 0x3065 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x30BD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FE1 JUMP JUMPDEST PUSH2 0x30CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F20736574207265736F6C7665722066 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F722074686973206E6F64650000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x312D PUSH1 0x2C DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3138 DUP3 PUSH2 0x30D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x315C DUP2 PUSH2 0x3120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420666F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2074686973206E6F646500000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BF PUSH1 0x2A DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x31CA DUP3 PUSH2 0x3163 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EE DUP2 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3201 DUP4 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x320E DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x3217 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x323D DUP2 DUP6 DUP8 PUSH2 0x31F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x324C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3292 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32AE JUMPI PUSH2 0x32AD PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32BC DUP5 DUP3 DUP6 ADD PUSH2 0x3283 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32DA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x331A DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3325 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x333D JUMPI PUSH2 0x333C PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x335E PUSH2 0x3359 DUP3 PUSH2 0x1F96 JUMP JUMPDEST PUSH2 0x3343 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3370 DUP3 DUP6 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x3380 DUP3 DUP5 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33A6 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x33B0 DUP2 DUP6 PUSH2 0x3390 JUMP JUMPDEST SWAP4 POP PUSH2 0x33C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 DUP3 DUP5 PUSH2 0x339B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FA0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x340D DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3429 JUMPI PUSH2 0x3428 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3437 DUP5 DUP3 DUP6 ADD PUSH2 0x33FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3455 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x3462 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34C5 PUSH1 0x26 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x34D0 DUP3 PUSH2 0x3469 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34F4 DUP2 PUSH2 0x34B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3516 JUMPI PUSH2 0x3515 PUSH2 0x1E22 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 0x3542 JUMPI PUSH2 0x3541 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x354B DUP3 PUSH2 0x1E11 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356B PUSH2 0x3566 DUP5 PUSH2 0x3527 JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3587 JUMPI PUSH2 0x3586 PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x3592 DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x35AF JUMPI PUSH2 0x35AE PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x35BF DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3558 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35DB PUSH2 0x35D6 DUP5 PUSH2 0x34FB JUMP JUMPDEST PUSH2 0x1E82 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 0x35FE JUMPI PUSH2 0x35FD PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3645 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3623 JUMPI PUSH2 0x3622 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x3630 DUP10 DUP3 PUSH2 0x359A JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3600 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3664 JUMPI PUSH2 0x3663 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x3674 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x35C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3693 JUMPI PUSH2 0x3692 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x36BD DUP5 DUP3 DUP6 ADD PUSH2 0x364F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x36DB PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x36ED DUP2 DUP6 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3701 DUP2 DUP5 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x3714 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x372F PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x373C PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x374E DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x3762 DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP PUSH2 0x3771 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x3783 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP 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 PUSH2 0x37E3 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x37ED DUP2 DUP6 PUSH2 0x37C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x37FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3806 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x381D DUP4 DUP4 PUSH2 0x37D8 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 0x383D DUP3 PUSH2 0x3790 JUMP JUMPDEST PUSH2 0x3847 DUP2 DUP6 PUSH2 0x379B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x3859 DUP6 PUSH2 0x37AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3895 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x3876 DUP6 DUP3 PUSH2 0x3811 JUMP JUMPDEST SWAP5 POP PUSH2 0x3881 DUP4 PUSH2 0x3825 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x385D JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x38BC PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38CE DUP2 DUP8 PUSH2 0x3832 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x38E2 DUP2 DUP7 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x38F1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3903 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3945 PUSH1 0x1D DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3950 DUP3 PUSH2 0x390F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3974 DUP2 PUSH2 0x3938 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3986 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3991 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x39A9 JUMPI PUSH2 0x39A8 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39BA DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x39EC JUMPI PUSH2 0x39EB PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0D DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x3A1B DUP2 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x3A32 JUMPI PUSH2 0x3A31 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A44 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x3A4E DUP2 DUP6 PUSH2 0x274E JUMP JUMPDEST SWAP4 POP PUSH2 0x3A5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3A67 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3A8C DUP2 DUP5 PUSH2 0x3A39 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP 0x25 SWAP14 PUSH30 0x2476CAC1E182A62CC9DDB39E660A13E8A7DA9CD96A986379F70EAB8E6473 PUSH16 0x6C634300081900330000000000000000 ", + "sourceMap": "1084:9781:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10383:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5676:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;8000:329;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1291:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1335:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;620:1099:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3590:170:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6751:1107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1365:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5041:378;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4445:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3954:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1412:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8544:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10162:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10383:359;10474:4;10524:35;10509:50;;;:11;:50;;;;:114;;;;10590:33;10575:48;;;:11;:48;;;;10509:114;:174;;;;10654:29;10639:44;;;:11;:44;;;;10509:174;:226;;;;10699:36;10723:11;10699:23;:36::i;:::-;10509:226;10490:245;;10383:359;;;:::o;5676:146::-;5749:12;5763:14;5796:19;5807:4;5813:1;5796:10;:19::i;:::-;5789:26;;;;5676:146;;;:::o;8000:329::-;8064:7;8083:23;8109:10;:28;8138:4;;8109:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8083:60;;8205:10;:19;8225:10;8205:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8197:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8279:10;:31;8311:10;8279:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8272:50;;;8000:329;;;;:::o;1291:38::-;;;:::o;1335:24::-;;;:::o;620:1099:0:-;744:12;768:18;800:8;;789:29;;;;;;;:::i;:::-;768:50;;842:21;877:12;903:25;942:24;980:15;1009:25;1075:9;;1047:127;;;;;;;:::i;:::-;828:346;;;;;;;;;;;;1185:21;1209:8;:25;;;1248:4;1266:8;1288:9;1311:5;1330:31;:29;:31::i;:::-;1209:162;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1185:186;;1403:8;:15;1386:6;:13;:32;1382:124;;1464:6;:13;1479:8;:15;1441:54;;;;;;;;;;;;:::i;:::-;;;;;;;;1382:124;1515:16;1534:104;1597:8;1607:6;1615:12;1574:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:4;1534:26;;;;:104;;;;:::i;:::-;1515:123;;1698:3;1692:10;1687:2;1682:3;1678:12;1671:32;3590:170:20;3693:7;1893:5;3716:37;;3590:170;:::o;6751:1107::-;6855:19;6909:1;6894:4;;:11;;:16;;6886:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6946:12;6972:4;;6977:1;6972:8;;;;;;;;;:::i;:::-;6961:31;;;;;;;:::i;:::-;6946:46;;7002:17;7047:1;7022:27;;:7;:13;7030:4;7022:13;;;;;;;;;;;;;;;;;;;;;:27;;;;7002:47;;7139:12;7135:146;;;7167:24;7194:17;:23;7212:4;7194:23;;;;;;;;;;;;;;;;;;;;;7167:50;;7238:32;7247:16;7265:4;;7238:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;:32::i;:::-;7231:39;;;;;;;7135:146;7372:1;7340:10;:22;7363:4;;7340:28;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;7332:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7417:14;7435:19;7446:4;;7435:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7452:1;7435:10;:19::i;:::-;7414:40;;;7465:15;7490:4;;7483:12;;;;;:::i;:::-;7465:30;;7522:27;;;7510:39;;;:8;:39;;;;7506:258;;7620:13;7636:18;7649:4;;7636:12;:18::i;:::-;7620:34;;7668:12;7683:15;:23;7699:6;7683:23;;;;;;;;;;;;;;;;7668:38;;7727:26;7733:5;7740:4;7746:6;7727:5;:26::i;:::-;7720:33;;;;;;;;;;7506:258;7825:26;;;;;;;;;;:::i;:::-;;;;;;;;6751:1107;;;;;;;:::o;1365:41::-;;;:::o;5041:378::-;5123:12;5141:15;5151:4;;5141:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;5122:34;;;5187:18;5200:4;5187:12;:18::i;:::-;5166:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;5296:14;5313:7;:13;5321:4;5313:13;;;;;;;;;;;;;;;;;;;;;5296:30;;5362:4;5336:15;:23;5352:6;5336:23;;;;;;;;;;;;;;;:30;;;;5381:31;5399:6;5407:4;5381:31;;;;;;;:::i;:::-;;;;;;;;5112:307;;5041:378;;;:::o;4445:375::-;4559:12;4577:15;4587:4;;4577:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;4558:34;;;4623:18;4636:4;4623:12;:18::i;:::-;4602:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;4747:12;4721:17;:23;4739:4;4721:23;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;4774:39;4794:4;4800:12;4774:39;;;;;;;:::i;:::-;;;;;;;;4548:272;4445:375;;;:::o;3954:303::-;4030:12;4048:15;4058:4;;4048:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;4029:34;;;4094:18;4107:4;4094:12;:18::i;:::-;4073:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;4206:6;4190:7;:13;4198:4;4190:13;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4227:23;4237:4;;4243:6;4227:23;;;;;;;;:::i;:::-;;;;;;;;4019:238;3954:303;;;:::o;1412:34::-;;;:::o;8544:208::-;8642:19;8676:14;8694:19;8705:4;;8694:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8711:1;8694:10;:19::i;:::-;8673:40;;;8723:22;8738:6;8723:14;:22::i;:::-;8663:89;8544:208;;;;;:::o;10162:215::-;10266:12;10290;10316:6;10323:1;10316:9;;;;;;;;:::i;:::-;;;;;;;;10305:32;;;;;;;;;;;;:::i;:::-;10290:47;;10365:4;10354:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;10347:23;;;10162:215;;;;:::o;829:155:15:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;5828:626:20:-;5927:12;5941:14;5967:11;5981:22;5996:6;5981:4;:14;;:22;;;;:::i;:::-;5967:36;;;;6028:1;6020:10;;6013:17;;6050:1;6044:3;:7;6040:377;;;6067:13;6083:28;6104:1;6095:6;:10;;;;:::i;:::-;6107:3;6083:4;:11;;:28;;;;;:::i;:::-;6067:44;;6142:34;6153:4;6174:1;6168:3;6159:6;:12;;;;:::i;:::-;:16;;;;:::i;:::-;6142:10;:34::i;:::-;6125:51;;;;;;;;6224:4;6230:5;6207:29;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6197:40;;;;;;6190:47;;6280:1;6255:27;;:7;:13;6263:4;6255:13;;;;;;;;;;;;;;;;;;;;;:27;;;6251:94;;6310:4;6316:7;:13;6324:4;6316:13;;;;;;;;;;;;;;;;;;;;;6302:28;;;;;;;;6251:94;6053:302;6040:377;;;6391:1;6383:10;;6403:1;6375:31;;;;;;;6040:377;6426:21;5828:626;;;;;;:::o;3701:185:14:-;3776:12;3807:72;3829:6;3837:4;3843:1;3807:72;;;;;;;;;;;;;;;;;:21;:72::i;:::-;3800:79;;3701:185;;;;:::o;9380:440:20:-;9488:12;9513;9527:19;9550:16;:27;;9578:4;9550:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9512:71;;;;9597:7;9593:221;;;9627:6;9620:13;;;;;;9593:221;9782:6;9776:13;9769:4;9761:6;9757:17;9750:40;9380:440;;;;;:::o;9826:330::-;9940:12;9964:167;10100:26;;;9964:167;;;;;;;;;;;;:116;10072:7;9964:86;10045:4;9964:57;10004:8;10014:6;9964:39;:57::i;:::-;:80;;:86;;;;:::i;:::-;:107;;:116;;;;:::i;:::-;:135;;:167;;;;;:::i;:::-;9826:330;;;;;:::o;2081:260::-;2140:4;2156:13;2172:3;:9;;;2182:4;2172:15;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2156:31;;2218:11;2201:29;;:5;:29;;;2197:102;;2254:11;:19;;;2282:4;2274:13;;2254:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2246:42;;2197:102;2324:10;2315:19;;:5;:19;;;2308:26;;;2081:260;;;:::o;10748:115::-;10838:9;10849:6;10819:37;;;;;;;;;;;;:::i;:::-;;;;;;;;7616:147:8;7712:9;7746:4;7751:3;7746:9;;;;;;;;:::i;:::-;;;;;;;;;;7740:16;;7733:23;;7616:147;;;;:::o;409:274::-;526:11;573:4;:11;566:3;557:6;:12;;;;:::i;:::-;:27;;549:36;;;;;;663:3;654:6;649:2;643:4;639:13;635:26;625:42;618:49;;409:274;;;;;:::o;5165:446:14:-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;;;;5165:446;;;;;;:::o;1825:469:1:-;1934:22;;:::i;:::-;1968:25;796:2;1996:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1968:55;;2033:24;837:2;2060:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2033:53;;2136:1;2126:8;2119:19;2202:1;2191:9;2184:20;2230:57;;;;;;;;2246:8;2230:57;;;;;;2256:6;2230:57;;;;;;2264:8;2230:57;;;;2274:1;2230:57;;;;2277:9;2230:57;;;2223:64;;;;1825:469;;;;:::o;2744:796::-;2858:22;;:::i;:::-;2892:25;2920:7;:16;;;2892:44;;2946:18;2967:8;:15;2946:36;;3009:1;2996:10;:14;:43;;;;;3037:2;3014:7;:20;;;:25;2996:43;2992:146;;;3097:30;3111:7;555:4;3097:13;:30::i;:::-;2992:146;3203:1;3191:10;3187:18;3177:8;3170:36;796:2;3263:7;:16;;;:23;:38;3259:105;;;796:2;3324:29;;;;;;;;;;;:::i;:::-;;;;;;;;3259:105;3396:1;3373:7;:20;;:24;;;;;3407:25;3421:7;3430:1;3407:13;:25::i;:::-;3442:67;3456:7;3465:43;3478:7;3498:8;3487:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;3465:12;:43::i;:::-;3442:13;:67::i;:::-;3526:7;3519:14;;;;2744:796;;;;:::o;4975:321::-;5081:22;;:::i;:::-;5143:2;5119:7;:20;;;:26;5115:80;;5168:16;;;;;;;;;;;;;;5115:80;5204:61;5218:7;5227:37;5240:7;5260:2;5249:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;5227:12;:37::i;:::-;5204:13;:61::i;:::-;5282:7;5275:14;;4975:321;;;;:::o;8650:871::-;8827:1;8801:7;:16;;;:23;:27;:56;;;;;8855:2;8832:7;:20;;;:25;8801:56;8797:155;;;8911:30;8925:7;555:4;8911:13;:30::i;:::-;8797:155;9005:4;9024:7;:16;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9146:7;:14;;;9162:7;:16;;;9180:7;:17;;;9068:144;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9226:47;;;9315:7;:16;;;9349:7;:14;;;9381:7;:16;;;9415:7;:17;;;9450:10;9478:12;9287:217;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8969:545;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;7671:628:14;7851:12;7879:7;7875:418;;;7927:1;7906:10;:17;:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7902:286;8208:10;8201:17;;;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;;:::o;9901:314:1:-;10011:18;10058:1;10032:7;:16;;;:23;:27;;;;:::i;:::-;10011:48;;10184:7;:20;;:22;;;;;;;;:::i;:::-;;;;10180:1;:26;;;;:::i;:::-;10171:2;10164:10;;10156:19;;;:51;;10112:7;:16;;;10129:10;10112:28;;;;;;;;:::i;:::-;;;;;;;;:96;10069:7;:16;;;10086:10;10069:28;;;;;;;;:::i;:::-;;;;;;;:139;;;;;10001:214;9901:314;;:::o;9527:368::-;9645:9;9666:24;9693:7;:17;;;9666:44;;9732:9;:16;9720:29;;9809:1;9804:3;9800:11;9789:9;9782:30;9883:5;9866:9;9876:3;9866:14;;;;;;;;;;:::i;:::-;;;;;;;:22;;;;9656:239;9527:368;;;;:::o;1412:320:14:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;8821:540::-;9000:1;8980:10;:17;:21;8976:379;;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:21:-;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:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:117::-;1627:1;1624;1617:12;1641:117;1750:1;1747;1740:12;1764:102;1805:6;1856:2;1852:7;1847:2;1840:5;1836:14;1832:28;1822:38;;1764:102;;;:::o;1872:180::-;1920:77;1917:1;1910:88;2017:4;2014:1;2007:15;2041:4;2038:1;2031:15;2058:281;2141:27;2163:4;2141:27;:::i;:::-;2133:6;2129:40;2271:6;2259:10;2256:22;2235:18;2223:10;2220:34;2217:62;2214:88;;;2282:18;;:::i;:::-;2214:88;2322:10;2318:2;2311:22;2101:238;2058:281;;:::o;2345:129::-;2379:6;2406:20;;:::i;:::-;2396:30;;2435:33;2463:4;2455:6;2435:33;:::i;:::-;2345:129;;;:::o;2480:307::-;2541:4;2631:18;2623:6;2620:30;2617:56;;;2653:18;;:::i;:::-;2617:56;2691:29;2713:6;2691:29;:::i;:::-;2683:37;;2775:4;2769;2765:15;2757:23;;2480:307;;;:::o;2793:148::-;2891:6;2886:3;2881;2868:30;2932:1;2923:6;2918:3;2914:16;2907:27;2793:148;;;:::o;2947:423::-;3024:5;3049:65;3065:48;3106:6;3065:48;:::i;:::-;3049:65;:::i;:::-;3040:74;;3137:6;3130:5;3123:21;3175:4;3168:5;3164:16;3213:3;3204:6;3199:3;3195:16;3192:25;3189:112;;;3220:79;;:::i;:::-;3189:112;3310:54;3357:6;3352:3;3347;3310:54;:::i;:::-;3030:340;2947:423;;;;;:::o;3389:338::-;3444:5;3493:3;3486:4;3478:6;3474:17;3470:27;3460:122;;3501:79;;:::i;:::-;3460:122;3618:6;3605:20;3643:78;3717:3;3709:6;3702:4;3694:6;3690:17;3643:78;:::i;:::-;3634:87;;3450:277;3389:338;;;;:::o;3733:507::-;3801:6;3850:2;3838:9;3829:7;3825:23;3821:32;3818:119;;;3856:79;;:::i;:::-;3818:119;4004:1;3993:9;3989:17;3976:31;4034:18;4026:6;4023:30;4020:117;;;4056:79;;:::i;:::-;4020:117;4161:62;4215:7;4206:6;4195:9;4191:22;4161:62;:::i;:::-;4151:72;;3947:286;3733:507;;;;:::o;4246:77::-;4283:7;4312:5;4301:16;;4246:77;;;:::o;4329:118::-;4416:24;4434:5;4416:24;:::i;:::-;4411:3;4404:37;4329:118;;:::o;4453:126::-;4490:7;4530:42;4523:5;4519:54;4508:65;;4453:126;;;:::o;4585:96::-;4622:7;4651:24;4669:5;4651:24;:::i;:::-;4640:35;;4585:96;;;:::o;4687:118::-;4774:24;4792:5;4774:24;:::i;:::-;4769:3;4762:37;4687:118;;:::o;4811:332::-;4932:4;4970:2;4959:9;4955:18;4947:26;;4983:71;5051:1;5040:9;5036:17;5027:6;4983:71;:::i;:::-;5064:72;5132:2;5121:9;5117:18;5108:6;5064:72;:::i;:::-;4811:332;;;;;:::o;5149:117::-;5258:1;5255;5248:12;5272:117;5381:1;5378;5371:12;5408:552;5465:8;5475:6;5525:3;5518:4;5510:6;5506:17;5502:27;5492:122;;5533:79;;:::i;:::-;5492:122;5646:6;5633:20;5623:30;;5676:18;5668:6;5665:30;5662:117;;;5698:79;;:::i;:::-;5662:117;5812:4;5804:6;5800:17;5788:29;;5866:3;5858:4;5850:6;5846:17;5836:8;5832:32;5829:41;5826:128;;;5873:79;;:::i;:::-;5826:128;5408:552;;;;;:::o;5966:527::-;6036:6;6044;6093:2;6081:9;6072:7;6068:23;6064:32;6061:119;;;6099:79;;:::i;:::-;6061:119;6247:1;6236:9;6232:17;6219:31;6277:18;6269:6;6266:30;6263:117;;;6299:79;;:::i;:::-;6263:117;6412:64;6468:7;6459:6;6448:9;6444:22;6412:64;:::i;:::-;6394:82;;;;6190:296;5966:527;;;;;:::o;6499:77::-;6536:7;6565:5;6554:16;;6499:77;;;:::o;6582:118::-;6669:24;6687:5;6669:24;:::i;:::-;6664:3;6657:37;6582:118;;:::o;6706:222::-;6799:4;6837:2;6826:9;6822:18;6814:26;;6850:71;6918:1;6907:9;6903:17;6894:6;6850:71;:::i;:::-;6706:222;;;;:::o;6934:60::-;6962:3;6983:5;6976:12;;6934:60;;;:::o;7000:142::-;7050:9;7083:53;7101:34;7110:24;7128:5;7110:24;:::i;:::-;7101:34;:::i;:::-;7083:53;:::i;:::-;7070:66;;7000:142;;;:::o;7148:126::-;7198:9;7231:37;7262:5;7231:37;:::i;:::-;7218:50;;7148:126;;;:::o;7280:146::-;7350:9;7383:37;7414:5;7383:37;:::i;:::-;7370:50;;7280:146;;;:::o;7432:171::-;7539:57;7590:5;7539:57;:::i;:::-;7534:3;7527:70;7432:171;;:::o;7609:262::-;7722:4;7760:2;7749:9;7745:18;7737:26;;7773:91;7861:1;7850:9;7846:17;7837:6;7773:91;:::i;:::-;7609:262;;;;:::o;7877:138::-;7939:9;7972:37;8003:5;7972:37;:::i;:::-;7959:50;;7877:138;;;:::o;8021:155::-;8120:49;8163:5;8120:49;:::i;:::-;8115:3;8108:62;8021:155;;:::o;8182:246::-;8287:4;8325:2;8314:9;8310:18;8302:26;;8338:83;8418:1;8407:9;8403:17;8394:6;8338:83;:::i;:::-;8182:246;;;;:::o;8434:870::-;8524:6;8532;8540;8548;8597:2;8585:9;8576:7;8572:23;8568:32;8565:119;;;8603:79;;:::i;:::-;8565:119;8751:1;8740:9;8736:17;8723:31;8781:18;8773:6;8770:30;8767:117;;;8803:79;;:::i;:::-;8767:117;8916:64;8972:7;8963:6;8952:9;8948:22;8916:64;:::i;:::-;8898:82;;;;8694:296;9057:2;9046:9;9042:18;9029:32;9088:18;9080:6;9077:30;9074:117;;;9110:79;;:::i;:::-;9074:117;9223:64;9279:7;9270:6;9259:9;9255:22;9223:64;:::i;:::-;9205:82;;;;9000:297;8434:870;;;;;;;:::o;9310:98::-;9361:6;9395:5;9389:12;9379:22;;9310:98;;;:::o;9414:168::-;9497:11;9531:6;9526:3;9519:19;9571:4;9566:3;9562:14;9547:29;;9414:168;;;;:::o;9588:248::-;9670:1;9680:113;9694:6;9691:1;9688:13;9680:113;;;9779:1;9774:3;9770:11;9764:18;9760:1;9755:3;9751:11;9744:39;9716:2;9713:1;9709:10;9704:15;;9680:113;;;9827:1;9818:6;9813:3;9809:16;9802:27;9650:186;9588:248;;;:::o;9842:373::-;9928:3;9956:38;9988:5;9956:38;:::i;:::-;10010:70;10073:6;10068:3;10010:70;:::i;:::-;10003:77;;10089:65;10147:6;10142:3;10135:4;10128:5;10124:16;10089:65;:::i;:::-;10179:29;10201:6;10179:29;:::i;:::-;10174:3;10170:39;10163:46;;9932:283;9842:373;;;;:::o;10221:309::-;10332:4;10370:2;10359:9;10355:18;10347:26;;10419:9;10413:4;10409:20;10405:1;10394:9;10390:17;10383:47;10447:76;10518:4;10509:6;10447:76;:::i;:::-;10439:84;;10221:309;;;;:::o;10536:147::-;10607:9;10640:37;10671:5;10640:37;:::i;:::-;10627:50;;10536:147;;;:::o;10689:173::-;10797:58;10849:5;10797:58;:::i;:::-;10792:3;10785:71;10689:173;;:::o;10868:264::-;10982:4;11020:2;11009:9;11005:18;10997:26;;11033:92;11122:1;11111:9;11107:17;11098:6;11033:92;:::i;:::-;10868:264;;;;:::o;11138:122::-;11211:24;11229:5;11211:24;:::i;:::-;11204:5;11201:35;11191:63;;11250:1;11247;11240:12;11191:63;11138:122;:::o;11266:139::-;11312:5;11350:6;11337:20;11328:29;;11366:33;11393:5;11366:33;:::i;:::-;11266:139;;;;:::o;11411:672::-;11490:6;11498;11506;11555:2;11543:9;11534:7;11530:23;11526:32;11523:119;;;11561:79;;:::i;:::-;11523:119;11709:1;11698:9;11694:17;11681:31;11739:18;11731:6;11728:30;11725:117;;;11761:79;;:::i;:::-;11725:117;11874:64;11930:7;11921:6;11910:9;11906:22;11874:64;:::i;:::-;11856:82;;;;11652:296;11987:2;12013:53;12058:7;12049:6;12038:9;12034:22;12013:53;:::i;:::-;12003:63;;11958:118;11411:672;;;;;:::o;12089:122::-;12162:24;12180:5;12162:24;:::i;:::-;12155:5;12152:35;12142:63;;12201:1;12198;12191:12;12142:63;12089:122;:::o;12217:139::-;12263:5;12301:6;12288:20;12279:29;;12317:33;12344:5;12317:33;:::i;:::-;12217:139;;;;:::o;12362:672::-;12441:6;12449;12457;12506:2;12494:9;12485:7;12481:23;12477:32;12474:119;;;12512:79;;:::i;:::-;12474:119;12660:1;12649:9;12645:17;12632:31;12690:18;12682:6;12679:30;12676:117;;;12712:79;;:::i;:::-;12676:117;12825:64;12881:7;12872:6;12861:9;12857:22;12825:64;:::i;:::-;12807:82;;;;12603:296;12938:2;12964:53;13009:7;13000:6;12989:9;12985:22;12964:53;:::i;:::-;12954:63;;12909:118;12362:672;;;;;:::o;13040:320::-;13126:4;13216:18;13208:6;13205:30;13202:56;;;13238:18;;:::i;:::-;13202:56;13288:4;13280:6;13276:17;13268:25;;13348:4;13342;13338:15;13330:23;;13040:320;;;:::o;13381:942::-;13486:5;13511:90;13527:73;13593:6;13527:73;:::i;:::-;13511:90;:::i;:::-;13502:99;;13621:5;13650:6;13643:5;13636:21;13684:4;13677:5;13673:16;13666:23;;13737:4;13729:6;13725:17;13717:6;13713:30;13766:3;13758:6;13755:15;13752:122;;;13785:79;;:::i;:::-;13752:122;13900:6;13883:434;13917:6;13912:3;13909:15;13883:434;;;14006:3;13993:17;14042:18;14029:11;14026:35;14023:122;;;14064:79;;:::i;:::-;14023:122;14188:11;14180:6;14176:24;14226:46;14268:3;14256:10;14226:46;:::i;:::-;14221:3;14214:59;14302:4;14297:3;14293:14;14286:21;;13959:358;;13943:4;13938:3;13934:14;13927:21;;13883:434;;;13887:21;13492:831;;13381:942;;;;;:::o;14344:388::-;14424:5;14473:3;14466:4;14458:6;14454:17;14450:27;14440:122;;14481:79;;:::i;:::-;14440:122;14598:6;14585:20;14623:103;14722:3;14714:6;14707:4;14699:6;14695:17;14623:103;:::i;:::-;14614:112;;14430:302;14344:388;;;;:::o;14738:880::-;14849:6;14857;14906:2;14894:9;14885:7;14881:23;14877:32;14874:119;;;14912:79;;:::i;:::-;14874:119;15060:1;15049:9;15045:17;15032:31;15090:18;15082:6;15079:30;15076:117;;;15112:79;;:::i;:::-;15076:117;15217:87;15296:7;15287:6;15276:9;15272:22;15217:87;:::i;:::-;15207:97;;15003:311;15381:2;15370:9;15366:18;15353:32;15412:18;15404:6;15401:30;15398:117;;;15434:79;;:::i;:::-;15398:117;15539:62;15593:7;15584:6;15573:9;15569:22;15539:62;:::i;:::-;15529:72;;15324:287;14738:880;;;;;:::o;15624:176::-;15715:11;15749:6;15744:3;15737:19;15789:4;15784:3;15780:14;15765:29;;15624:176;;;;:::o;15828:330::-;15932:3;15953:78;16024:6;16019:3;15953:78;:::i;:::-;15946:85;;16041:56;16090:6;16085:3;16078:5;16041:56;:::i;:::-;16122:29;16144:6;16122:29;:::i;:::-;16117:3;16113:39;16106:46;;15828:330;;;;;:::o;16164:345::-;16293:4;16331:2;16320:9;16316:18;16308:26;;16380:9;16374:4;16370:20;16366:1;16355:9;16351:17;16344:47;16408:94;16497:4;16488:6;16480;16408:94;:::i;:::-;16400:102;;16164:345;;;;;:::o;16515:432::-;16603:5;16628:65;16644:48;16685:6;16644:48;:::i;:::-;16628:65;:::i;:::-;16619:74;;16716:6;16709:5;16702:21;16754:4;16747:5;16743:16;16792:3;16783:6;16778:3;16774:16;16771:25;16768:112;;;16799:79;;:::i;:::-;16768:112;16889:52;16934:6;16929:3;16924;16889:52;:::i;:::-;16609:338;16515:432;;;;;:::o;16966:353::-;17032:5;17081:3;17074:4;17066:6;17062:17;17058:27;17048:122;;17089:79;;:::i;:::-;17048:122;17199:6;17193:13;17224:89;17309:3;17301:6;17294:4;17286:6;17282:17;17224:89;:::i;:::-;17215:98;;17038:281;16966:353;;;;:::o;17325:522::-;17404:6;17453:2;17441:9;17432:7;17428:23;17424:32;17421:119;;;17459:79;;:::i;:::-;17421:119;17600:1;17589:9;17585:17;17579:24;17630:18;17622:6;17619:30;17616:117;;;17652:79;;:::i;:::-;17616:117;17757:73;17822:7;17813:6;17802:9;17798:22;17757:73;:::i;:::-;17747:83;;17550:290;17325:522;;;;:::o;17853:389::-;17947:3;17975:38;18007:5;17975:38;:::i;:::-;18029:78;18100:6;18095:3;18029:78;:::i;:::-;18022:85;;18116:65;18174:6;18169:3;18162:4;18155:5;18151:16;18116:65;:::i;:::-;18206:29;18228:6;18206:29;:::i;:::-;18201:3;18197:39;18190:46;;17951:291;17853:389;;;;:::o;18248:325::-;18367:4;18405:2;18394:9;18390:18;18382:26;;18454:9;18448:4;18444:20;18440:1;18429:9;18425:17;18418:47;18482:84;18561:4;18552:6;18482:84;:::i;:::-;18474:92;;18248:325;;;;:::o;18579:116::-;18649:21;18664:5;18649:21;:::i;:::-;18642:5;18639:32;18629:60;;18685:1;18682;18675:12;18629:60;18579:116;:::o;18701:137::-;18755:5;18786:6;18780:13;18771:22;;18802:30;18826:5;18802:30;:::i;:::-;18701:137;;;;:::o;18844:345::-;18911:6;18960:2;18948:9;18939:7;18935:23;18931:32;18928:119;;;18966:79;;:::i;:::-;18928:119;19086:1;19111:61;19164:7;19155:6;19144:9;19140:22;19111:61;:::i;:::-;19101:71;;19057:125;18844:345;;;;:::o;19195:169::-;19279:11;19313:6;19308:3;19301:19;19353:4;19348:3;19344:14;19329:29;;19195:169;;;;:::o;19370:171::-;19510:23;19506:1;19498:6;19494:14;19487:47;19370:171;:::o;19547:366::-;19689:3;19710:67;19774:2;19769:3;19710:67;:::i;:::-;19703:74;;19786:93;19875:3;19786:93;:::i;:::-;19904:2;19899:3;19895:12;19888:19;;19547:366;;;:::o;19919:419::-;20085:4;20123:2;20112:9;20108:18;20100:26;;20172:9;20166:4;20162:20;20158:1;20147:9;20143:17;20136:47;20200:131;20326:4;20200:131;:::i;:::-;20192:139;;19919:419;;;:::o;20344:143::-;20401:5;20432:6;20426:13;20417:22;;20448:33;20475:5;20448:33;:::i;:::-;20344:143;;;;:::o;20493:351::-;20563:6;20612:2;20600:9;20591:7;20587:23;20583:32;20580:119;;;20618:79;;:::i;:::-;20580:119;20738:1;20763:64;20819:7;20810:6;20799:9;20795:22;20763:64;:::i;:::-;20753:74;;20709:128;20493:351;;;;:::o;20850:116::-;20907:7;20936:24;20954:5;20936:24;:::i;:::-;20925:35;;20850:116;;;:::o;20972:162::-;21065:44;21103:5;21065:44;:::i;:::-;21058:5;21055:55;21045:83;;21124:1;21121;21114:12;21045:83;20972:162;:::o;21140:179::-;21206:5;21244:6;21231:20;21222:29;;21260:53;21307:5;21260:53;:::i;:::-;21140:179;;;;:::o;21325:104::-;21370:7;21399:24;21417:5;21399:24;:::i;:::-;21388:35;;21325:104;;;:::o;21435:138::-;21516:32;21542:5;21516:32;:::i;:::-;21509:5;21506:43;21496:71;;21563:1;21560;21553:12;21496:71;21435:138;:::o;21579:155::-;21633:5;21671:6;21658:20;21649:29;;21687:41;21722:5;21687:41;:::i;:::-;21579:155;;;;:::o;21740:311::-;21817:4;21907:18;21899:6;21896:30;21893:56;;;21929:18;;:::i;:::-;21893:56;21979:4;21971:6;21967:17;21959:25;;22039:4;22033;22029:15;22021:23;;21740:311;;;:::o;22057:122::-;22130:24;22148:5;22130:24;:::i;:::-;22123:5;22120:35;22110:63;;22169:1;22166;22159:12;22110:63;22057:122;:::o;22185:139::-;22231:5;22269:6;22256:20;22247:29;;22285:33;22312:5;22285:33;:::i;:::-;22185:139;;;;:::o;22347:710::-;22443:5;22468:81;22484:64;22541:6;22484:64;:::i;:::-;22468:81;:::i;:::-;22459:90;;22569:5;22598:6;22591:5;22584:21;22632:4;22625:5;22621:16;22614:23;;22685:4;22677:6;22673:17;22665:6;22661:30;22714:3;22706:6;22703:15;22700:122;;;22733:79;;:::i;:::-;22700:122;22848:6;22831:220;22865:6;22860:3;22857:15;22831:220;;;22940:3;22969:37;23002:3;22990:10;22969:37;:::i;:::-;22964:3;22957:50;23036:4;23031:3;23027:14;23020:21;;22907:144;22891:4;22886:3;22882:14;22875:21;;22831:220;;;22835:21;22449:608;;22347:710;;;;;:::o;23080:370::-;23151:5;23200:3;23193:4;23185:6;23181:17;23177:27;23167:122;;23208:79;;:::i;:::-;23167:122;23325:6;23312:20;23350:94;23440:3;23432:6;23425:4;23417:6;23413:17;23350:94;:::i;:::-;23341:103;;23157:293;23080:370;;;;:::o;23456:1727::-;23655:6;23663;23671;23679;23687;23695;23744:3;23732:9;23723:7;23719:23;23715:33;23712:120;;;23751:79;;:::i;:::-;23712:120;23871:1;23896:73;23961:7;23952:6;23941:9;23937:22;23896:73;:::i;:::-;23886:83;;23842:137;24018:2;24044:61;24097:7;24088:6;24077:9;24073:22;24044:61;:::i;:::-;24034:71;;23989:126;24182:2;24171:9;24167:18;24154:32;24213:18;24205:6;24202:30;24199:117;;;24235:79;;:::i;:::-;24199:117;24340:78;24410:7;24401:6;24390:9;24386:22;24340:78;:::i;:::-;24330:88;;24125:303;24495:2;24484:9;24480:18;24467:32;24526:18;24518:6;24515:30;24512:117;;;24548:79;;:::i;:::-;24512:117;24653:87;24732:7;24723:6;24712:9;24708:22;24653:87;:::i;:::-;24643:97;;24438:312;24789:3;24816:52;24860:7;24851:6;24840:9;24836:22;24816:52;:::i;:::-;24806:62;;24760:118;24945:3;24934:9;24930:19;24917:33;24977:18;24969:6;24966:30;24963:117;;;24999:79;;:::i;:::-;24963:117;25104:62;25158:7;25149:6;25138:9;25134:22;25104:62;:::i;:::-;25094:72;;24888:288;23456:1727;;;;;;;;:::o;25189:114::-;25256:6;25290:5;25284:12;25274:22;;25189:114;;;:::o;25309:184::-;25408:11;25442:6;25437:3;25430:19;25482:4;25477:3;25473:14;25458:29;;25309:184;;;;:::o;25499:132::-;25566:4;25589:3;25581:11;;25619:4;25614:3;25610:14;25602:22;;25499:132;;;:::o;25637:108::-;25714:24;25732:5;25714:24;:::i;:::-;25709:3;25702:37;25637:108;;:::o;25751:179::-;25820:10;25841:46;25883:3;25875:6;25841:46;:::i;:::-;25919:4;25914:3;25910:14;25896:28;;25751:179;;;;:::o;25936:113::-;26006:4;26038;26033:3;26029:14;26021:22;;25936:113;;;:::o;26085:732::-;26204:3;26233:54;26281:5;26233:54;:::i;:::-;26303:86;26382:6;26377:3;26303:86;:::i;:::-;26296:93;;26413:56;26463:5;26413:56;:::i;:::-;26492:7;26523:1;26508:284;26533:6;26530:1;26527:13;26508:284;;;26609:6;26603:13;26636:63;26695:3;26680:13;26636:63;:::i;:::-;26629:70;;26722:60;26775:6;26722:60;:::i;:::-;26712:70;;26568:224;26555:1;26552;26548:9;26543:14;;26508:284;;;26512:14;26808:3;26801:10;;26209:608;;;26085:732;;;;:::o;26823:123::-;26899:6;26933:5;26927:12;26917:22;;26823:123;;;:::o;26952:193::-;27060:11;27094:6;27089:3;27082:19;27134:4;27129:3;27125:14;27110:29;;26952:193;;;;:::o;27151:141::-;27227:4;27250:3;27242:11;;27280:4;27275:3;27271:14;27263:22;;27151:141;;;:::o;27298:158::-;27371:11;27405:6;27400:3;27393:19;27445:4;27440:3;27436:14;27421:29;;27298:158;;;;:::o;27462:353::-;27538:3;27566:38;27598:5;27566:38;:::i;:::-;27620:60;27673:6;27668:3;27620:60;:::i;:::-;27613:67;;27689:65;27747:6;27742:3;27735:4;27728:5;27724:16;27689:65;:::i;:::-;27779:29;27801:6;27779:29;:::i;:::-;27774:3;27770:39;27763:46;;27542:273;27462:353;;;;:::o;27821:192::-;27908:10;27943:64;28003:3;27995:6;27943:64;:::i;:::-;27929:78;;27821:192;;;;:::o;28019:122::-;28098:4;28130;28125:3;28121:14;28113:22;;28019:122;;;:::o;28173:983::-;28310:3;28339:63;28396:5;28339:63;:::i;:::-;28418:95;28506:6;28501:3;28418:95;:::i;:::-;28411:102;;28539:3;28584:4;28576:6;28572:17;28567:3;28563:27;28614:65;28673:5;28614:65;:::i;:::-;28702:7;28733:1;28718:393;28743:6;28740:1;28737:13;28718:393;;;28814:9;28808:4;28804:20;28799:3;28792:33;28865:6;28859:13;28893:82;28970:4;28955:13;28893:82;:::i;:::-;28885:90;;28998:69;29060:6;28998:69;:::i;:::-;28988:79;;29096:4;29091:3;29087:14;29080:21;;28778:333;28765:1;28762;28758:9;28753:14;;28718:393;;;28722:14;29127:4;29120:11;;29147:3;29140:10;;28315:841;;;;;28173:983;;;;:::o;29162:1089::-;29503:4;29541:3;29530:9;29526:19;29518:27;;29555:71;29623:1;29612:9;29608:17;29599:6;29555:71;:::i;:::-;29673:9;29667:4;29663:20;29658:2;29647:9;29643:18;29636:48;29701:108;29804:4;29795:6;29701:108;:::i;:::-;29693:116;;29856:9;29850:4;29846:20;29841:2;29830:9;29826:18;29819:48;29884:126;30005:4;29996:6;29884:126;:::i;:::-;29876:134;;30057:9;30051:4;30047:20;30042:2;30031:9;30027:18;30020:48;30085:76;30156:4;30147:6;30085:76;:::i;:::-;30077:84;;30171:73;30239:3;30228:9;30224:19;30215:6;30171:73;:::i;:::-;29162:1089;;;;;;;;:::o;30272:957::-;30388:5;30413:90;30429:73;30495:6;30429:73;:::i;:::-;30413:90;:::i;:::-;30404:99;;30523:5;30552:6;30545:5;30538:21;30586:4;30579:5;30575:16;30568:23;;30639:4;30631:6;30627:17;30619:6;30615:30;30668:3;30660:6;30657:15;30654:122;;;30687:79;;:::i;:::-;30654:122;30802:6;30785:438;30819:6;30814:3;30811:15;30785:438;;;30901:3;30895:10;30937:18;30924:11;30921:35;30918:122;;;30959:79;;:::i;:::-;30918:122;31083:11;31075:6;31071:24;31121:57;31174:3;31162:10;31121:57;:::i;:::-;31116:3;31109:70;31208:4;31203:3;31199:14;31192:21;;30861:362;;30845:4;30840:3;30836:14;30829:21;;30785:438;;;30789:21;30394:835;;30272:957;;;;;:::o;31250:403::-;31341:5;31390:3;31383:4;31375:6;31371:17;31367:27;31357:122;;31398:79;;:::i;:::-;31357:122;31508:6;31502:13;31533:114;31643:3;31635:6;31628:4;31620:6;31616:17;31533:114;:::i;:::-;31524:123;;31347:306;31250:403;;;;:::o;31659:572::-;31763:6;31812:2;31800:9;31791:7;31787:23;31783:32;31780:119;;;31818:79;;:::i;:::-;31780:119;31959:1;31948:9;31944:17;31938:24;31989:18;31981:6;31978:30;31975:117;;;32011:79;;:::i;:::-;31975:117;32116:98;32206:7;32197:6;32186:9;32182:22;32116:98;:::i;:::-;32106:108;;31909:315;31659:572;;;;:::o;32237:332::-;32358:4;32396:2;32385:9;32381:18;32373:26;;32409:71;32477:1;32466:9;32462:17;32453:6;32409:71;:::i;:::-;32490:72;32558:2;32547:9;32543:18;32534:6;32490:72;:::i;:::-;32237:332;;;;;:::o;32575:606::-;32782:4;32820:2;32809:9;32805:18;32797:26;;32869:9;32863:4;32859:20;32855:1;32844:9;32840:17;32833:47;32897:126;33018:4;33009:6;32897:126;:::i;:::-;32889:134;;33070:9;33064:4;33060:20;33055:2;33044:9;33040:18;33033:48;33098:76;33169:4;33160:6;33098:76;:::i;:::-;33090:84;;32575:606;;;;;:::o;33187:170::-;33327:22;33323:1;33315:6;33311:14;33304:46;33187:170;:::o;33363:366::-;33505:3;33526:67;33590:2;33585:3;33526:67;:::i;:::-;33519:74;;33602:93;33691:3;33602:93;:::i;:::-;33720:2;33715:3;33711:12;33704:19;;33363:366;;;:::o;33735:419::-;33901:4;33939:2;33928:9;33924:18;33916:26;;33988:9;33982:4;33978:20;33974:1;33963:9;33959:17;33952:47;34016:131;34142:4;34016:131;:::i;:::-;34008:139;;33735:419;;;:::o;34160:117::-;34269:1;34266;34259:12;34283:117;34392:1;34389;34382:12;34406:469;34511:9;34522;34560:8;34548:10;34545:24;34542:111;;;34572:79;;:::i;:::-;34542:111;34678:6;34668:8;34665:20;34662:107;;;34688:79;;:::i;:::-;34662:107;34819:1;34807:10;34803:18;34795:6;34791:31;34778:44;;34858:10;34848:8;34844:25;34831:38;;34406:469;;;;;;;:::o;34881:329::-;34940:6;34989:2;34977:9;34968:7;34964:23;34960:32;34957:119;;;34995:79;;:::i;:::-;34957:119;35115:1;35140:53;35185:7;35176:6;35165:9;35161:22;35140:53;:::i;:::-;35130:63;;35086:117;34881:329;;;;:::o;35216:175::-;35356:27;35352:1;35344:6;35340:14;35333:51;35216:175;:::o;35397:366::-;35539:3;35560:67;35624:2;35619:3;35560:67;:::i;:::-;35553:74;;35636:93;35725:3;35636:93;:::i;:::-;35754:2;35749:3;35745:12;35738:19;;35397:366;;;:::o;35769:419::-;35935:4;35973:2;35962:9;35958:18;35950:26;;36022:9;36016:4;36012:20;36008:1;35997:9;35993:17;35986:47;36050:131;36176:4;36050:131;:::i;:::-;36042:139;;35769:419;;;:::o;36194:96::-;36252:6;36280:3;36270:13;;36194:96;;;;:::o;36388:107::-;36432:8;36482:5;36476:4;36472:16;36451:37;;36388:107;;;;:::o;36501:548::-;36591:5;36622:45;36663:3;36656:5;36622:45;:::i;:::-;36692:5;36716:40;36746:8;36733:22;36716:40;:::i;:::-;36707:49;;36780:1;36772:6;36769:13;36766:276;;;36850:168;36934:66;36904:6;36901:1;36897:14;36894:1;36890:22;36850:168;:::i;:::-;36827:5;36806:226;36797:235;;36766:276;36597:452;;36501:548;;;;:::o;37055:166::-;37195:18;37191:1;37183:6;37179:14;37172:42;37055:166;:::o;37227:366::-;37369:3;37390:67;37454:2;37449:3;37390:67;:::i;:::-;37383:74;;37466:93;37555:3;37466:93;:::i;:::-;37584:2;37579:3;37575:12;37568:19;;37227:366;;;:::o;37599:419::-;37765:4;37803:2;37792:9;37788:18;37780:26;;37852:9;37846:4;37842:20;37838:1;37827:9;37823:17;37816:47;37880:131;38006:4;37880:131;:::i;:::-;37872:139;;37599:419;;;:::o;38024:242::-;38164:34;38160:1;38152:6;38148:14;38141:58;38233:25;38228:2;38220:6;38216:15;38209:50;38024:242;:::o;38272:366::-;38414:3;38435:67;38499:2;38494:3;38435:67;:::i;:::-;38428:74;;38511:93;38600:3;38511:93;:::i;:::-;38629:2;38624:3;38620:12;38613:19;;38272:366;;;:::o;38644:419::-;38810:4;38848:2;38837:9;38833:18;38825:26;;38897:9;38891:4;38887:20;38883:1;38872:9;38868:17;38861:47;38925:131;39051:4;38925:131;:::i;:::-;38917:139;;38644:419;;;:::o;39069:332::-;39190:4;39228:2;39217:9;39213:18;39205:26;;39241:71;39309:1;39298:9;39294:17;39285:6;39241:71;:::i;:::-;39322:72;39390:2;39379:9;39375:18;39366:6;39322:72;:::i;:::-;39069:332;;;;;:::o;39407:231::-;39547:34;39543:1;39535:6;39531:14;39524:58;39616:14;39611:2;39603:6;39599:15;39592:39;39407:231;:::o;39644:366::-;39786:3;39807:67;39871:2;39866:3;39807:67;:::i;:::-;39800:74;;39883:93;39972:3;39883:93;:::i;:::-;40001:2;39996:3;39992:12;39985:19;;39644:366;;;:::o;40016:419::-;40182:4;40220:2;40209:9;40205:18;40197:26;;40269:9;40263:4;40259:20;40255:1;40244:9;40240:17;40233:47;40297:131;40423:4;40297:131;:::i;:::-;40289:139;;40016:419;;;:::o;40441:229::-;40581:34;40577:1;40569:6;40565:14;40558:58;40650:12;40645:2;40637:6;40633:15;40626:37;40441:229;:::o;40676:366::-;40818:3;40839:67;40903:2;40898:3;40839:67;:::i;:::-;40832:74;;40915:93;41004:3;40915:93;:::i;:::-;41033:2;41028:3;41024:12;41017:19;;40676:366;;;:::o;41048:419::-;41214:4;41252:2;41241:9;41237:18;41229:26;;41301:9;41295:4;41291:20;41287:1;41276:9;41272:17;41265:47;41329:131;41455:4;41329:131;:::i;:::-;41321:139;;41048:419;;;:::o;41495:314::-;41591:3;41612:70;41675:6;41670:3;41612:70;:::i;:::-;41605:77;;41692:56;41741:6;41736:3;41729:5;41692:56;:::i;:::-;41773:29;41795:6;41773:29;:::i;:::-;41768:3;41764:39;41757:46;;41495:314;;;;;:::o;41815:439::-;41964:4;42002:2;41991:9;41987:18;41979:26;;42051:9;42045:4;42041:20;42037:1;42026:9;42022:17;42015:47;42079:86;42160:4;42151:6;42143;42079:86;:::i;:::-;42071:94;;42175:72;42243:2;42232:9;42228:18;42219:6;42175:72;:::i;:::-;41815:439;;;;;;:::o;42260:180::-;42308:77;42305:1;42298:88;42405:4;42402:1;42395:15;42429:4;42426:1;42419:15;42446:159;42511:5;42542:6;42536:13;42527:22;;42558:41;42593:5;42558:41;:::i;:::-;42446:159;;;;:::o;42611:367::-;42689:6;42738:2;42726:9;42717:7;42713:23;42709:32;42706:119;;;42744:79;;:::i;:::-;42706:119;42864:1;42889:72;42953:7;42944:6;42933:9;42929:22;42889:72;:::i;:::-;42879:82;;42835:136;42611:367;;;;:::o;42984:222::-;43077:4;43115:2;43104:9;43100:18;43092:26;;43128:71;43196:1;43185:9;43181:17;43172:6;43128:71;:::i;:::-;42984:222;;;;:::o;43212:180::-;43260:77;43257:1;43250:88;43357:4;43354:1;43347:15;43381:4;43378:1;43371:15;43398:191;43438:3;43457:20;43475:1;43457:20;:::i;:::-;43452:25;;43491:20;43509:1;43491:20;:::i;:::-;43486:25;;43534:1;43531;43527:9;43520:16;;43555:3;43552:1;43549:10;43546:36;;;43562:18;;:::i;:::-;43546:36;43398:191;;;;:::o;43595:79::-;43634:7;43663:5;43652:16;;43595:79;;;:::o;43680:157::-;43785:45;43805:24;43823:5;43805:24;:::i;:::-;43785:45;:::i;:::-;43780:3;43773:58;43680:157;;:::o;43843:397::-;43983:3;43998:75;44069:3;44060:6;43998:75;:::i;:::-;44098:2;44093:3;44089:12;44082:19;;44111:75;44182:3;44173:6;44111:75;:::i;:::-;44211:2;44206:3;44202:12;44195:19;;44231:3;44224:10;;43843:397;;;;;:::o;44246:147::-;44347:11;44384:3;44369:18;;44246:147;;;;:::o;44399:386::-;44503:3;44531:38;44563:5;44531:38;:::i;:::-;44585:88;44666:6;44661:3;44585:88;:::i;:::-;44578:95;;44682:65;44740:6;44735:3;44728:4;44721:5;44717:16;44682:65;:::i;:::-;44772:6;44767:3;44763:16;44756:23;;44507:278;44399:386;;;;:::o;44791:271::-;44921:3;44943:93;45032:3;45023:6;44943:93;:::i;:::-;44936:100;;45053:3;45046:10;;44791:271;;;;:::o;45068:222::-;45161:4;45199:2;45188:9;45184:18;45176:26;;45212:71;45280:1;45269:9;45265:17;45256:6;45212:71;:::i;:::-;45068:222;;;;:::o;45296:143::-;45353:5;45384:6;45378:13;45369:22;;45400:33;45427:5;45400:33;:::i;:::-;45296:143;;;;:::o;45445:351::-;45515:6;45564:2;45552:9;45543:7;45539:23;45535:32;45532:119;;;45570:79;;:::i;:::-;45532:119;45690:1;45715:64;45771:7;45762:6;45751:9;45747:22;45715:64;:::i;:::-;45705:74;;45661:128;45445:351;;;;:::o;45802:332::-;45923:4;45961:2;45950:9;45946:18;45938:26;;45974:71;46042:1;46031:9;46027:17;46018:6;45974:71;:::i;:::-;46055:72;46123:2;46112:9;46108:18;46099:6;46055:72;:::i;:::-;45802:332;;;;;:::o;46140:225::-;46280:34;46276:1;46268:6;46264:14;46257:58;46349:8;46344:2;46336:6;46332:15;46325:33;46140:225;:::o;46371:366::-;46513:3;46534:67;46598:2;46593:3;46534:67;:::i;:::-;46527:74;;46610:93;46699:3;46610:93;:::i;:::-;46728:2;46723:3;46719:12;46712:19;;46371:366;;;:::o;46743:419::-;46909:4;46947:2;46936:9;46932:18;46924:26;;46996:9;46990:4;46986:20;46982:1;46971:9;46967:17;46960:47;47024:131;47150:4;47024:131;:::i;:::-;47016:139;;46743:419;;;:::o;47168:321::-;47255:4;47345:18;47337:6;47334:30;47331:56;;;47367:18;;:::i;:::-;47331:56;47417:4;47409:6;47405:17;47397:25;;47477:4;47471;47467:15;47459:23;;47168:321;;;:::o;47495:308::-;47557:4;47647:18;47639:6;47636:30;47633:56;;;47669:18;;:::i;:::-;47633:56;47707:29;47729:6;47707:29;:::i;:::-;47699:37;;47791:4;47785;47781:15;47773:23;;47495:308;;;:::o;47809:434::-;47898:5;47923:66;47939:49;47981:6;47939:49;:::i;:::-;47923:66;:::i;:::-;47914:75;;48012:6;48005:5;47998:21;48050:4;48043:5;48039:16;48088:3;48079:6;48074:3;48070:16;48067:25;48064:112;;;48095:79;;:::i;:::-;48064:112;48185:52;48230:6;48225:3;48220;48185:52;:::i;:::-;47904:339;47809:434;;;;;:::o;48263:355::-;48330:5;48379:3;48372:4;48364:6;48360:17;48356:27;48346:122;;48387:79;;:::i;:::-;48346:122;48497:6;48491:13;48522:90;48608:3;48600:6;48593:4;48585:6;48581:17;48522:90;:::i;:::-;48513:99;;48336:282;48263:355;;;;:::o;48640:960::-;48757:5;48782:91;48798:74;48865:6;48798:74;:::i;:::-;48782:91;:::i;:::-;48773:100;;48893:5;48922:6;48915:5;48908:21;48956:4;48949:5;48945:16;48938:23;;49009:4;49001:6;48997:17;48989:6;48985:30;49038:3;49030:6;49027:15;49024:122;;;49057:79;;:::i;:::-;49024:122;49172:6;49155:439;49189:6;49184:3;49181:15;49155:439;;;49271:3;49265:10;49307:18;49294:11;49291:35;49288:122;;;49329:79;;:::i;:::-;49288:122;49453:11;49445:6;49441:24;49491:58;49545:3;49533:10;49491:58;:::i;:::-;49486:3;49479:71;49579:4;49574:3;49570:14;49563:21;;49231:363;;49215:4;49210:3;49206:14;49199:21;;49155:439;;;49159:21;48763:837;;48640:960;;;;;:::o;49622:405::-;49714:5;49763:3;49756:4;49748:6;49744:17;49740:27;49730:122;;49771:79;;:::i;:::-;49730:122;49881:6;49875:13;49906:115;50017:3;50009:6;50002:4;49994:6;49990:17;49906:115;:::i;:::-;49897:124;;49720:307;49622:405;;;;:::o;50033:574::-;50138:6;50187:2;50175:9;50166:7;50162:23;50158:32;50155:119;;;50193:79;;:::i;:::-;50155:119;50334:1;50323:9;50319:17;50313:24;50364:18;50356:6;50353:30;50350:117;;;50386:79;;:::i;:::-;50350:117;50491:99;50582:7;50573:6;50562:9;50558:22;50491:99;:::i;:::-;50481:109;;50284:316;50033:574;;;;:::o;50613:780::-;50880:4;50918:2;50907:9;50903:18;50895:26;;50931:71;50999:1;50988:9;50984:17;50975:6;50931:71;:::i;:::-;51049:9;51043:4;51039:20;51034:2;51023:9;51019:18;51012:48;51077:108;51180:4;51171:6;51077:108;:::i;:::-;51069:116;;51232:9;51226:4;51222:20;51217:2;51206:9;51202:18;51195:48;51260:126;51381:4;51372:6;51260:126;:::i;:::-;51252:134;;50613:780;;;;;;:::o;51399:115::-;51484:23;51501:5;51484:23;:::i;:::-;51479:3;51472:36;51399:115;;:::o;51520:1236::-;51907:4;51945:3;51934:9;51930:19;51922:27;;51959:91;52047:1;52036:9;52032:17;52023:6;51959:91;:::i;:::-;52060:72;52128:2;52117:9;52113:18;52104:6;52060:72;:::i;:::-;52179:9;52173:4;52169:20;52164:2;52153:9;52149:18;52142:48;52207:108;52310:4;52301:6;52207:108;:::i;:::-;52199:116;;52362:9;52356:4;52352:20;52347:2;52336:9;52332:18;52325:48;52390:126;52511:4;52502:6;52390:126;:::i;:::-;52382:134;;52526:71;52592:3;52581:9;52577:19;52568:6;52526:71;:::i;:::-;52645:9;52639:4;52635:20;52629:3;52618:9;52614:19;52607:49;52673:76;52744:4;52735:6;52673:76;:::i;:::-;52665:84;;51520:1236;;;;;;;;;:::o;52762:124::-;52839:6;52873:5;52867:12;52857:22;;52762:124;;;:::o;52892:194::-;53001:11;53035:6;53030:3;53023:19;53075:4;53070:3;53066:14;53051:29;;52892:194;;;;:::o;53092:142::-;53169:4;53192:3;53184:11;;53222:4;53217:3;53213:14;53205:22;;53092:142;;;:::o;53240:99::-;53292:6;53326:5;53320:12;53310:22;;53240:99;;;:::o;53345:159::-;53419:11;53453:6;53448:3;53441:19;53493:4;53488:3;53484:14;53469:29;;53345:159;;;;:::o;53510:357::-;53588:3;53616:39;53649:5;53616:39;:::i;:::-;53671:61;53725:6;53720:3;53671:61;:::i;:::-;53664:68;;53741:65;53799:6;53794:3;53787:4;53780:5;53776:16;53741:65;:::i;:::-;53831:29;53853:6;53831:29;:::i;:::-;53826:3;53822:39;53815:46;;53592:275;53510:357;;;;:::o;53873:196::-;53962:10;53997:66;54059:3;54051:6;53997:66;:::i;:::-;53983:80;;53873:196;;;;:::o;54075:123::-;54155:4;54187;54182:3;54178:14;54170:22;;54075:123;;;:::o;54232:991::-;54371:3;54400:64;54458:5;54400:64;:::i;:::-;54480:96;54569:6;54564:3;54480:96;:::i;:::-;54473:103;;54602:3;54647:4;54639:6;54635:17;54630:3;54626:27;54677:66;54737:5;54677:66;:::i;:::-;54766:7;54797:1;54782:396;54807:6;54804:1;54801:13;54782:396;;;54878:9;54872:4;54868:20;54863:3;54856:33;54929:6;54923:13;54957:84;55036:4;55021:13;54957:84;:::i;:::-;54949:92;;55064:70;55127:6;55064:70;:::i;:::-;55054:80;;55163:4;55158:3;55154:14;55147:21;;54842:336;54829:1;54826;54822:9;54817:14;;54782:396;;;54786:14;55194:4;55187:11;;55214:3;55207:10;;54376:847;;;;;54232:991;;;;:::o;55229:1025::-;55538:4;55576:3;55565:9;55561:19;55553:27;;55590:71;55658:1;55647:9;55643:17;55634:6;55590:71;:::i;:::-;55708:9;55702:4;55698:20;55693:2;55682:9;55678:18;55671:48;55736:128;55859:4;55850:6;55736:128;:::i;:::-;55728:136;;55911:9;55905:4;55901:20;55896:2;55885:9;55881:18;55874:48;55939:76;56010:4;56001:6;55939:76;:::i;:::-;55931:84;;56025:70;56091:2;56080:9;56076:18;56067:6;56025:70;:::i;:::-;56143:9;56137:4;56133:20;56127:3;56116:9;56112:19;56105:49;56171:76;56242:4;56233:6;56171:76;:::i;:::-;56163:84;;55229:1025;;;;;;;;:::o;56260:179::-;56400:31;56396:1;56388:6;56384:14;56377:55;56260:179;:::o;56445:366::-;56587:3;56608:67;56672:2;56667:3;56608:67;:::i;:::-;56601:74;;56684:93;56773:3;56684:93;:::i;:::-;56802:2;56797:3;56793:12;56786:19;;56445:366;;;:::o;56817:419::-;56983:4;57021:2;57010:9;57006:18;56998:26;;57070:9;57064:4;57060:20;57056:1;57045:9;57041:17;57034:47;57098:131;57224:4;57098:131;:::i;:::-;57090:139;;56817:419;;;:::o;57242:194::-;57282:4;57302:20;57320:1;57302:20;:::i;:::-;57297:25;;57336:20;57354:1;57336:20;:::i;:::-;57331:25;;57380:1;57377;57373:9;57365:17;;57404:1;57398:4;57395:11;57392:37;;;57409:18;;:::i;:::-;57392:37;57242:194;;;;:::o;57442:233::-;57481:3;57504:24;57522:5;57504:24;:::i;:::-;57495:33;;57550:66;57543:5;57540:77;57537:103;;57620:18;;:::i;:::-;57537:103;57667:1;57660:5;57656:13;57649:20;;57442:233;;;:::o;57681:410::-;57721:7;57744:20;57762:1;57744:20;:::i;:::-;57739:25;;57778:20;57796:1;57778:20;:::i;:::-;57773:25;;57833:1;57830;57826:9;57855:30;57873:11;57855:30;:::i;:::-;57844:41;;58034:1;58025:7;58021:15;58018:1;58015:22;57995:1;57988:9;57968:83;57945:139;;58064:18;;:::i;:::-;57945:139;57729:362;57681:410;;;;:::o;58097:377::-;58185:3;58213:39;58246:5;58213:39;:::i;:::-;58268:71;58332:6;58327:3;58268:71;:::i;:::-;58261:78;;58348:65;58406:6;58401:3;58394:4;58387:5;58383:16;58348:65;:::i;:::-;58438:29;58460:6;58438:29;:::i;:::-;58433:3;58429:39;58422:46;;58189:285;58097:377;;;;:::o;58480:313::-;58593:4;58631:2;58620:9;58616:18;58608:26;;58680:9;58674:4;58670:20;58666:1;58655:9;58651:17;58644:47;58708:78;58781:4;58772:6;58708:78;:::i;:::-;58700:86;;58480:313;;;;:::o" + }, + "methodIdentifiers": { + "addrCallback(bytes[],bytes)": "f470901a", + "ens()": "3f15457f", + "extractNFTId(bytes)": "1a33ddae", + "getAcceptedL2BlockRangeLength()": "6d74e86e", + "getStorageSlotsCallback(bytes,bytes)": "5bdaa916", + "getTarget(bytes)": "15f64386", + "l2ChainId()": "d6ae3cd5", + "nameWrapper()": "a8e5fbc0", + "resolve(bytes,bytes)": "9061b923", + "setAddr(bytes,address)": "f00eebf4", + "setBaseNodeResolver(bytes,address)": "ac8a4a5d", + "setTarget(bytes,address)": "d358df77", + "setTargetAddrSlot(bytes,uint256)": "ac177c37", + "supportsInterface(bytes4)": "01ffc9a7", + "verifier()": "2b7ac3f3" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEVMVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"},{\"internalType\":\"contract INameWrapper\",\"name\":\"_nameWrapper\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_l2ChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CommandTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunction\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"OffchainLookup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"ResponseLengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"StorageHandledByL2\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyCommands\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"name\":\"BaseNodeResolverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"TargetAddrSlotSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"TargetSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addrCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"extractNFTId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAcceptedL2BlockRangeLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extradata\",\"type\":\"bytes\"}],\"name\":\"getStorageSlotsCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"getTarget\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nameWrapper\",\"outputs\":[{\"internalType\":\"contract INameWrapper\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"name\":\"setBaseNodeResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"setTargetAddrSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IEVMVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"StorageHandledByL2(uint256,address)\":[{\"details\":\"EIP-5559 - Error to raise when mutations are being deferred to an L2.\",\"params\":{\"chainId\":\"Chain ID to perform the deferred mutation to.\",\"contractAddress\":\"Contract Address at which the deferred mutation should transact with.\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_ens\":\"The ENS registry address.\",\"_l2ChainId\":\"The chainId at which the resolver resolves data from.\",\"_nameWrapper\":\"The ENS name wrapper address.\",\"_verifier\":\"The chain verifier address.\"}},\"extractNFTId(bytes)\":{\"params\":{\"name\":\"DNS encoded ENS name.\"},\"returns\":{\"_0\":\"id The NFT id.\"}},\"getAcceptedL2BlockRangeLength()\":{\"details\":\"inherits from EVMFetchTarget\"},\"getStorageSlotsCallback(bytes,bytes)\":{\"details\":\"Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\"},\"getTarget(bytes)\":{\"details\":\"Returns the L2 target address that can answer queries for `name`.\",\"params\":{\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"node\":\"The node of the name.\",\"target\":\"The L2 resolver address to verify against.\"}},\"resolve(bytes,bytes)\":{\"details\":\"Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\",\"params\":{\"data\":\"The actual calldata.\",\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"result\":\"Result of the call.\"}},\"setAddr(bytes,address)\":{\"details\":\"Resolve and throws an EIP 3559 compliant error.\",\"params\":{\"_addr\":\"The actual calldata.\",\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"result\":\"Result of the call.\"}},\"setBaseNodeResolver(bytes,address)\":{\"params\":{\"name\":\"The DNS encoded name to set the base node resolver.\",\"resolverAddr\":\"The resolver address to use.\"}},\"setTarget(bytes,address)\":{\"params\":{\"name\":\"The DNS encoded name to set the target for.\",\"target\":\"The L2 resolver address to verify against.\"}},\"setTargetAddrSlot(bytes,uint256)\":{\"params\":{\"name\":\"The DNS encoded name to set the target address slot to query.\",\"slot\":\"The slot to set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"extractNFTId(bytes)\":{\"notice\":\"Get the NFT Id from the ENS name's label.\"},\"setBaseNodeResolver(bytes,address)\":{\"notice\":\"Set base node resolver address.\"},\"setTarget(bytes,address)\":{\"notice\":\"Set target address to verify against.\"},\"setTargetAddrSlot(bytes,uint256)\":{\"notice\":\"Set the slot to query by ccip to get the address from the target contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/NFTResolver.sol\":\"NFTResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":{\"keccak256\":\"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963\",\"dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":{\"keccak256\":\"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82\",\"dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":{\"keccak256\":\"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760\",\"dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM\"]},\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":{\"keccak256\":\"0xc566a3569af880a096a9bfb2fbb77060ef7aecde1a205dc26446a58877412060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad627557ee4573cfd13238041acb2bda2d277dc78836e7611d184616df7f2a47\",\"dweb:/ipfs/QmSbCRpJaEqa5XiHwzQvawcyXVLVkFghY1KZob3XNGRveR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":{\"keccak256\":\"0x70310eb67146d7290731c31841399640ac3b6a949eadc6598bc150123d185c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85d9e2d6b235900131129386047fae5fb77438806b681ac566119868be5a502\",\"dweb:/ipfs/Qmd9ys5jeRx77TDVeRqWUme7a5LUDT4k7wQ91wVSayDpTR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/IAddrSetter.sol\":{\"keccak256\":\"0xf7493c0fc452bd785cdf3d563f45eefb64c1498711dbe024126d247be56fe808\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a92c0ddfee4e552979e5215448d6a5a6d3f90e7706aaab203d44466d1d05263\",\"dweb:/ipfs/QmNiSn57hsD7fmPTZsPqzY7D8BuQGuPyujjHsHewjNgrhm\"]},\"contracts/ITargetResolver.sol\":{\"keccak256\":\"0xbe5a66f254ce775902d6d20db27a50bfe28b70747cc33f28188beff59185b71a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c6d753a198934d7d911818c553532f8a5f97f96c86c60c5b709da345ab8de9\",\"dweb:/ipfs/QmYegW3aiohrSn34H5yHmxpUxm72iJXa4auCcX1mJNVkz3\"]},\"contracts/LabelUtils.sol\":{\"keccak256\":\"0x6eb7a06a5619e65e4e184f6e1971d401d856ff82d8ad997759646229ddbf4582\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ecb649dbb8d22339c9358af1116c8bab85598adf2e7c97fd771bb8c08f89e799\",\"dweb:/ipfs/QmarNdSN4VtMWrwcP6QAZHCQsqZHj8BNNBG3KKQYDYUcuY\"]},\"contracts/NFTResolver.sol\":{\"keccak256\":\"0x064802f3b3f231ec0e438ed73cf9936264d392c214cf89b884c9127cfcd592df\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://908fe67e9976cc5c007c5f798755bc3ec0b034e7a4fe5c07679b2a354910eb2f\",\"dweb:/ipfs/QmRgRAbapDNYLf6nvVtTHPtDQ2h6481oKGvApYBw6WJifK\"]}},\"version\":1}" + } + } + } + } +} \ No newline at end of file diff --git a/ignition/deployments/chain-1/deployed_addresses.json b/ignition/deployments/chain-1/deployed_addresses.json index ce31ed7..6f55178 100644 --- a/ignition/deployments/chain-1/deployed_addresses.json +++ b/ignition/deployments/chain-1/deployed_addresses.json @@ -1,4 +1,4 @@ { - "NFTResolverModule#LabelUtils": "0xC5E62F762a0844af52A7E126E111F2aA0087f3b1", - "NFTResolverModule#NFTResolver": "0xed24dDCB660c83803126DAAbFAfCE3b114936C58" + "NFTResolverModule#LabelUtils": "0xE71B375875A0F9837523F62Bcc937bDe37635524", + "NFTResolverModule#NFTResolver": "0x8210077e031302C41aCD7FccC38628CA1788A999" } diff --git a/ignition/deployments/chain-1/journal.jsonl b/ignition/deployments/chain-1/journal.jsonl index 3ed044e..dc49f37 100644 --- a/ignition/deployments/chain-1/journal.jsonl +++ b/ignition/deployments/chain-1/journal.jsonl @@ -2,11 +2,11 @@ {"chainId":1,"type":"DEPLOYMENT_INITIALIZE"} {"artifactId":"NFTResolverModule#LabelUtils","constructorArgs":[],"contractName":"LabelUtils","dependencies":[],"from":"0x644e1ce71a6aff1fc52955214df978dbb28f7a97","futureId":"NFTResolverModule#LabelUtils","futureType":"NAMED_ARTIFACT_LIBRARY_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} {"futureId":"NFTResolverModule#LabelUtils","networkInteraction":{"data":"0x610930610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"NFTResolverModule#LabelUtils","networkInteractionId":1,"nonce":11,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"17404976360"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x51e12a278d6729bee6c424e3c5b8dc8faa37102e2723878b07bc6222f2937bac"},"type":"TRANSACTION_SEND"} -{"futureId":"NFTResolverModule#LabelUtils","hash":"0x51e12a278d6729bee6c424e3c5b8dc8faa37102e2723878b07bc6222f2937bac","networkInteractionId":1,"receipt":{"blockHash":"0x3ef7d8a0d9bd8fbb2f00e1dd16414d034d14c136df44f650c7fa12bd262a7ca1","blockNumber":20663503,"contractAddress":"0xC5E62F762a0844af52A7E126E111F2aA0087f3b1","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"NFTResolverModule#LabelUtils","result":{"address":"0xC5E62F762a0844af52A7E126E111F2aA0087f3b1","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"NFTResolverModule#NFTResolver","constructorArgs":["0x2aD1A39a3b616FB11ac5DB290061A0A5C09771f3","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e","0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",1,"0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63"],"contractName":"NFTResolver","dependencies":["NFTResolverModule#LabelUtils"],"from":"0x644e1ce71a6aff1fc52955214df978dbb28f7a97","futureId":"NFTResolverModule#NFTResolver","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{"LabelUtils":"0xC5E62F762a0844af52A7E126E111F2aA0087f3b1"},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"NFTResolverModule#NFTResolver","networkInteraction":{"data":"0x61012060405234801561001157600080fd5b50604051613c60380380613c60833981810160405281019061003391906103b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100999061048e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906104fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017790610566565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508160e081815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250505050505050610586565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061029382610268565b9050919050565b60006102a582610288565b9050919050565b6102b58161029a565b81146102c057600080fd5b50565b6000815190506102d2816102ac565b92915050565b60006102e382610288565b9050919050565b6102f3816102d8565b81146102fe57600080fd5b50565b600081519050610310816102ea565b92915050565b600061032182610288565b9050919050565b61033181610316565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000819050919050565b61036781610354565b811461037257600080fd5b50565b6000815190506103848161035e565b92915050565b61039381610288565b811461039e57600080fd5b50565b6000815190506103b08161038a565b92915050565b600080600080600060a086880312156103d2576103d1610263565b5b60006103e0888289016102c3565b95505060206103f188828901610301565b94505060406104028882890161033f565b935050606061041388828901610375565b9250506080610424888289016103a1565b9150509295509295909350565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b6000610478602083610431565b915061048382610442565b602082019050919050565b600060208201905081810360008301526104a78161046b565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b60006104e4601c83610431565b91506104ef826104ae565b602082019050919050565b60006020820190508181036000830152610513816104d7565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b6000610550601c83610431565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b60805160a05160c05160e0516101005161366c6105f460003960008181610dbe0152611006015260008181610cd501526112f8015260008181610b85015281816111ce0152611221015260008181610653015261113201526000818161062f01526110d7015261366c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073C5E62F762a0844af52A7E126E111F2aA0087f3b16394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073C5E62F762a0844af52A7E126E111F2aA0087f3b163e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73C5E62F762a0844af52A7E126E111F2aA0087f3b16308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373C5E62F762a0844af52A7E126E111F2aA0087f3b1634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c634300081900330000000000000000000000002ad1a39a3b616fb11ac5db290061a0a5c09771f300000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e63","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"NFTResolverModule#NFTResolver","networkInteractionId":1,"nonce":12,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"19127026476"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x3a1f76c20d83575321a17e542e7be9857c8a242f1ed038db619a839b8634e6ab"},"type":"TRANSACTION_SEND"} -{"futureId":"NFTResolverModule#NFTResolver","hash":"0x3a1f76c20d83575321a17e542e7be9857c8a242f1ed038db619a839b8634e6ab","networkInteractionId":1,"receipt":{"blockHash":"0xeb1395abf1cb9f4eb202247446cc695bd010e075562c0dfe19aa9dc3cf88290a","blockNumber":20663533,"contractAddress":"0xed24dDCB660c83803126DAAbFAfCE3b114936C58","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"NFTResolverModule#NFTResolver","result":{"address":"0xed24dDCB660c83803126DAAbFAfCE3b114936C58","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file +{"futureId":"NFTResolverModule#LabelUtils","networkInteractionId":1,"nonce":19,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"5953561652"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x89c0620d2f01881d8c92ef96ed9f4469acb6fab08133981f7faabe9007e8b95f"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#LabelUtils","hash":"0x89c0620d2f01881d8c92ef96ed9f4469acb6fab08133981f7faabe9007e8b95f","networkInteractionId":1,"receipt":{"blockHash":"0x6d611ec9a500f55bddba008261e5a5a05da986cf0522ff83caa7d1dea6961a9b","blockNumber":20676708,"contractAddress":"0xE71B375875A0F9837523F62Bcc937bDe37635524","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#LabelUtils","result":{"address":"0xE71B375875A0F9837523F62Bcc937bDe37635524","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"NFTResolverModule#NFTResolver","constructorArgs":["0x2aD1A39a3b616FB11ac5DB290061A0A5C09771f3","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e","0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",1],"contractName":"NFTResolver","dependencies":["NFTResolverModule#LabelUtils"],"from":"0x644e1ce71a6aff1fc52955214df978dbb28f7a97","futureId":"NFTResolverModule#NFTResolver","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{"LabelUtils":"0xE71B375875A0F9837523F62Bcc937bDe37635524"},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"NFTResolverModule#NFTResolver","networkInteraction":{"data":"0x61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073E71B375875A0F9837523F62Bcc937bDe376355246394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073E71B375875A0F9837523F62Bcc937bDe3763552463e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73E71B375875A0F9837523F62Bcc937bDe376355246308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373E71B375875A0F9837523F62Bcc937bDe37635524634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c634300081900330000000000000000000000002ad1a39a3b616fb11ac5db290061a0a5c09771f300000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864010000000000000000000000000000000000000000000000000000000000000001","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"NFTResolverModule#NFTResolver","networkInteractionId":1,"nonce":20,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"5650616982"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x1c7ebe7e988760a4555fdb623b298471e2433337662c970535de0b5bdde74628"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#NFTResolver","hash":"0x1c7ebe7e988760a4555fdb623b298471e2433337662c970535de0b5bdde74628","networkInteractionId":1,"receipt":{"blockHash":"0x990e07a12a95cd84be9970a049fc64ffa3704fee751e54769b74d1f871787cd6","blockNumber":20676713,"contractAddress":"0x8210077e031302C41aCD7FccC38628CA1788A999","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#NFTResolver","result":{"address":"0x8210077e031302C41aCD7FccC38628CA1788A999","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.dbg.json b/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.dbg.json index 59335a9..e022a4b 100644 --- a/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.dbg.json +++ b/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/b81f40333ccc4acb691c7be2c38e0dd4.json" + "buildInfo": "../build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json" } \ No newline at end of file diff --git a/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.json b/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.json index a8ccc1e..b83095c 100644 --- a/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.json +++ b/ignition/deployments/chain-11155111/artifacts/NFTResolverModule#NFTResolver.json @@ -24,11 +24,6 @@ "internalType": "uint256", "name": "_l2ChainId", "type": "uint256" - }, - { - "internalType": "address", - "name": "_publicResolver", - "type": "address" } ], "stateMutability": "nonpayable", @@ -113,6 +108,44 @@ "name": "TooManyCommands", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "BaseNodeResolverSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "TargetAddrSlotSet", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -275,19 +308,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "publicResolver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -336,6 +356,24 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "setBaseNodeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -354,6 +392,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "setTargetAddrSlot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -387,26 +443,26 @@ "type": "function" } ], - "bytecode": "0x61012060405234801561001157600080fd5b50604051613c60380380613c60833981810160405281019061003391906103b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100999061048e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906104fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017790610566565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508160e081815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250505050505050610586565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061029382610268565b9050919050565b60006102a582610288565b9050919050565b6102b58161029a565b81146102c057600080fd5b50565b6000815190506102d2816102ac565b92915050565b60006102e382610288565b9050919050565b6102f3816102d8565b81146102fe57600080fd5b50565b600081519050610310816102ea565b92915050565b600061032182610288565b9050919050565b61033181610316565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000819050919050565b61036781610354565b811461037257600080fd5b50565b6000815190506103848161035e565b92915050565b61039381610288565b811461039e57600080fd5b50565b6000815190506103b08161038a565b92915050565b600080600080600060a086880312156103d2576103d1610263565b5b60006103e0888289016102c3565b95505060206103f188828901610301565b94505060406104028882890161033f565b935050606061041388828901610375565b9250506080610424888289016103a1565b9150509295509295909350565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b6000610478602083610431565b915061048382610442565b602082019050919050565b600060208201905081810360008301526104a78161046b565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b60006104e4601c83610431565b91506104ef826104ae565b602082019050919050565b60006020820190508181036000830152610513816104d7565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b6000610550601c83610431565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b60805160a05160c05160e0516101005161366c6105f460003960008181610dbe0152611006015260008181610cd501526112f8015260008181610b85015281816111ce0152611221015260008181610653015261113201526000818161062f01526110d7015261366c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c63430008190033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c63430008190033", + "bytecode": "0x61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", "linkReferences": { "contracts/LabelUtils.sol": { "LabelUtils": [ { "length": 20, - "start": 2666 + "start": 2567 }, { "length": 20, - "start": 2795 + "start": 2696 }, { "length": 20, - "start": 2978 + "start": 2879 }, { "length": 20, - "start": 4006 + "start": 3896 } ] } @@ -416,19 +472,19 @@ "LabelUtils": [ { "length": 20, - "start": 1142 + "start": 1179 }, { "length": 20, - "start": 1271 + "start": 1308 }, { "length": 20, - "start": 1454 + "start": 1491 }, { "length": 20, - "start": 2482 + "start": 2508 } ] } diff --git a/ignition/deployments/chain-11155111/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json b/ignition/deployments/chain-11155111/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json new file mode 100644 index 0000000..ba3894b --- /dev/null +++ b/ignition/deployments/chain-11155111/build-info/f7390dbaa4b479c35b2e57fbc1c9bc92.json @@ -0,0 +1,99531 @@ +{ + "id": "f7390dbaa4b479c35b2e57fbc1c9bc92", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.25", + "solcLongVersion": "0.8.25+commit.b61c2a91", + "input": { + "language": "Solidity", + "sources": { + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\nimport {IEVMVerifier} from \"./IEVMVerifier.sol\";\nimport {EVMFetchTarget} from \"./EVMFetchTarget.sol\";\nimport {Address} from \"@openzeppelin/contracts/utils/Address.sol\";\n\ninterface IEVMGateway {\n function getStorageSlots(\n address addr,\n bytes32[] memory commands,\n bytes[] memory constants\n ) external pure returns (bytes memory witness);\n}\n\nuint8 constant FLAG_DYNAMIC = 0x01;\nuint8 constant OP_CONSTANT = 0x00;\nuint8 constant OP_BACKREF = 0x20;\nuint8 constant OP_END = 0xff;\n\n/**\n * @dev A library to facilitate requesting storage data proofs from contracts, possibly on a different chain.\n * See l1-verifier/test/TestL1.sol for example usage.\n */\nlibrary EVMFetcher {\n uint256 constant MAX_COMMANDS = 32;\n uint256 constant MAX_CONSTANTS = 32; // Must not be greater than 32\n\n using Address for address;\n\n error TooManyCommands(uint256 max);\n error CommandTooLong();\n error InvalidReference(uint256 value, uint256 max);\n error OffchainLookup(\n address sender,\n string[] urls,\n bytes callData,\n bytes4 callbackFunction,\n bytes extraData\n );\n\n struct EVMFetchRequest {\n IEVMVerifier verifier;\n address target;\n bytes32[] commands;\n uint256 operationIdx;\n bytes[] constants;\n }\n\n /**\n * @dev Creates a request to fetch the value of multiple storage slots from a contract via CCIP-Read, possibly from\n * another chain.\n * Supports dynamic length values and slot numbers derived from other retrieved values.\n * @param verifier An instance of a verifier contract that can provide and verify the storage slot information.\n * @param target The address of the contract to fetch storage proofs for.\n */\n function newFetchRequest(\n IEVMVerifier verifier,\n address target\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = new bytes32[](MAX_COMMANDS);\n bytes[] memory constants = new bytes[](MAX_CONSTANTS);\n assembly {\n mstore(commands, 0) // Set current array length to 0\n mstore(constants, 0)\n }\n return EVMFetchRequest(verifier, target, commands, 0, constants);\n }\n\n /**\n * @dev Starts describing a new fetch request.\n * Paths specify a series of hashing operations to derive the final slot ID.\n * See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n * lays out storage variables.\n * @param request The request object being operated on.\n * @param baseSlot The base slot ID that forms the root of the path.\n */\n function getStatic(\n EVMFetchRequest memory request,\n uint256 baseSlot\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = request.commands;\n uint256 commandIdx = commands.length;\n if (commandIdx > 0 && request.operationIdx < 32) {\n // Terminate previous command\n _addOperation(request, OP_END);\n }\n assembly {\n mstore(commands, add(commandIdx, 1)) // Increment command array length\n }\n if (request.commands.length > MAX_COMMANDS) {\n revert TooManyCommands(MAX_COMMANDS);\n }\n request.operationIdx = 0;\n _addOperation(request, 0);\n _addOperation(request, _addConstant(request, abi.encode(baseSlot)));\n return request;\n }\n\n /**\n * @dev Starts describing a new fetch request.\n * Paths specify a series of hashing operations to derive the final slot ID.\n * See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n * lays out storage variables.\n * @param request The request object being operated on.\n * @param baseSlot The base slot ID that forms the root of the path.\n */\n function getDynamic(\n EVMFetchRequest memory request,\n uint256 baseSlot\n ) internal pure returns (EVMFetchRequest memory) {\n bytes32[] memory commands = request.commands;\n uint256 commandIdx = commands.length;\n if (commandIdx > 0 && request.operationIdx < 32) {\n // Terminate previous command\n _addOperation(request, OP_END);\n }\n assembly {\n mstore(commands, add(commandIdx, 1)) // Increment command array length\n }\n if (request.commands.length > MAX_COMMANDS) {\n revert TooManyCommands(MAX_COMMANDS);\n }\n request.operationIdx = 0;\n _addOperation(request, FLAG_DYNAMIC);\n _addOperation(request, _addConstant(request, abi.encode(baseSlot)));\n return request;\n }\n\n /**\n * @dev Adds a `uint256` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n uint256 el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds a `bytes32` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n bytes32 el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds an `address` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n address el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, abi.encode(el)));\n return request;\n }\n\n /**\n * @dev Adds a `bytes` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n bytes memory el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, el));\n return request;\n }\n\n /**\n * @dev Adds a `string` element to the current path.\n * @param request The request object being operated on.\n * @param el The element to add.\n */\n function element(\n EVMFetchRequest memory request,\n string memory el\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n _addOperation(request, _addConstant(request, bytes(el)));\n return request;\n }\n\n /**\n * @dev Adds a reference to a previous fetch to the current path.\n * @param request The request object being operated on.\n * @param idx The index of the previous fetch request, starting at 0.\n */\n function ref(\n EVMFetchRequest memory request,\n uint8 idx\n ) internal pure returns (EVMFetchRequest memory) {\n if (request.operationIdx >= 32) {\n revert CommandTooLong();\n }\n if (idx > request.commands.length || idx > 31) {\n revert InvalidReference(idx, request.commands.length);\n }\n _addOperation(request, OP_BACKREF | idx);\n return request;\n }\n\n /**\n * @dev Initiates the fetch request.\n * Calling this function terminates execution; clients that implement CCIP-Read will make a callback to\n * `callback` with the results of the operation.\n * @param callbackId A callback function selector on this contract that will be invoked via CCIP-Read with the result of the lookup.\n * The function must have a signature matching `(bytes[] memory values, bytes callbackData)` with a return type matching the call in which\n * this function was invoked. Its return data will be returned as the return value of the entire CCIP-read operation.\n * @param callbackData Extra data to supply to the callback.\n */\n function fetch(\n EVMFetchRequest memory request,\n bytes4 callbackId,\n bytes memory callbackData\n ) internal view {\n if (request.commands.length > 0 && request.operationIdx < 32) {\n // Terminate last command\n _addOperation(request, OP_END);\n }\n\n revert OffchainLookup(\n address(this),\n request.verifier.gatewayURLs(),\n abi.encodeCall(\n IEVMGateway.getStorageSlots,\n (request.target, request.commands, request.constants)\n ),\n EVMFetchTarget.getStorageSlotsCallback.selector,\n abi.encode(\n request.verifier,\n request.target,\n request.commands,\n request.constants,\n callbackId,\n callbackData\n )\n );\n }\n\n function _addConstant(\n EVMFetchRequest memory request,\n bytes memory value\n ) private pure returns (uint8 idx) {\n bytes[] memory constants = request.constants;\n idx = uint8(constants.length);\n assembly {\n mstore(constants, add(idx, 1)) // Increment constant array length\n }\n constants[idx] = value;\n }\n\n function _addOperation(\n EVMFetchRequest memory request,\n uint8 op\n ) private pure {\n uint256 commandIdx = request.commands.length - 1;\n request.commands[commandIdx] =\n request.commands[commandIdx] |\n (bytes32(bytes1(op)) >> (8 * request.operationIdx++));\n }\n}\n" + }, + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\nimport {IEVMVerifier} from \"./IEVMVerifier.sol\";\nimport {Address} from \"@openzeppelin/contracts/utils/Address.sol\";\n\n/**\n * @dev Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must\n * inherit from this contract in order to handle callbacks correctly.\n */\nabstract contract EVMFetchTarget {\n using Address for address;\n\n error ResponseLengthMismatch(uint256 actual, uint256 expected);\n\n /**\n * @dev Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\n */\n function getStorageSlotsCallback(\n bytes calldata response,\n bytes calldata extradata\n ) external returns (bytes memory) {\n bytes memory proof = abi.decode(response, (bytes));\n (\n IEVMVerifier verifier,\n address addr,\n bytes32[] memory commands,\n bytes[] memory constants,\n bytes4 callback,\n bytes memory callbackData\n ) = abi.decode(\n extradata,\n (IEVMVerifier, address, bytes32[], bytes[], bytes4, bytes)\n );\n\n bytes[] memory values = verifier.getStorageValues(\n addr,\n commands,\n constants,\n proof,\n getAcceptedL2BlockRangeLength()\n );\n\n if (values.length != commands.length) {\n revert ResponseLengthMismatch(values.length, commands.length);\n }\n bytes memory ret = address(this).functionCall(\n abi.encodeWithSelector(callback, values, callbackData)\n );\n assembly {\n return(add(ret, 32), mload(ret))\n }\n }\n\n /**\n * @dev The child contract has to return an accepted L2 block range used by the verifier\n * to verify that the block number verified is in the accepted block range.\n */\n function getAcceptedL2BlockRangeLength()\n public\n view\n virtual\n returns (uint256);\n}\n" + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.25;\n\ninterface IEVMVerifier {\n function gatewayURLs() external view returns (string[] memory);\n\n function getStorageValues(\n address target,\n bytes32[] memory commands,\n bytes[] memory constants,\n bytes memory proof,\n uint256 acceptedL2BlockRangeLength\n ) external view returns (bytes[] memory values);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "content": "import \"../registry/ENS.sol\";\nimport \"./IBaseRegistrar.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IBaseRegistrar is IERC721 {\n event ControllerAdded(address indexed controller);\n event ControllerRemoved(address indexed controller);\n event NameMigrated(\n uint256 indexed id,\n address indexed owner,\n uint256 expires\n );\n event NameRegistered(\n uint256 indexed id,\n address indexed owner,\n uint256 expires\n );\n event NameRenewed(uint256 indexed id, uint256 expires);\n\n // Authorises a controller, who can register and renew domains.\n function addController(address controller) external;\n\n // Revoke controller permission for an address.\n function removeController(address controller) external;\n\n // Set the resolver for the TLD this registrar manages.\n function setResolver(address resolver) external;\n\n // Returns the expiration timestamp of the specified label hash.\n function nameExpires(uint256 id) external view returns (uint256);\n\n // Returns true if the specified name is available for registration.\n function available(uint256 id) external view returns (bool);\n\n /**\n * @dev Register a name.\n */\n function register(\n uint256 id,\n address owner,\n uint256 duration\n ) external returns (uint256);\n\n function renew(uint256 id, uint256 duration) external returns (uint256);\n\n /**\n * @dev Reclaim ownership of a name in ENS, if you own it in the registrar.\n */\n function reclaim(uint256 id, address owner) external;\n}\n" + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\ninterface ENS {\n // Logged when the owner of a node assigns a new owner to a subnode.\n event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n // Logged when the owner of a node transfers ownership to a new account.\n event Transfer(bytes32 indexed node, address owner);\n\n // Logged when the resolver for a node changes.\n event NewResolver(bytes32 indexed node, address resolver);\n\n // Logged when the TTL of a node changes\n event NewTTL(bytes32 indexed node, uint64 ttl);\n\n // Logged when an operator is added or removed.\n event ApprovalForAll(\n address indexed owner,\n address indexed operator,\n bool approved\n );\n\n function setRecord(\n bytes32 node,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeRecord(\n bytes32 node,\n bytes32 label,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeOwner(\n bytes32 node,\n bytes32 label,\n address owner\n ) external returns (bytes32);\n\n function setResolver(bytes32 node, address resolver) external;\n\n function setOwner(bytes32 node, address owner) external;\n\n function setTTL(bytes32 node, uint64 ttl) external;\n\n function setApprovalForAll(address operator, bool approved) external;\n\n function owner(bytes32 node) external view returns (address);\n\n function resolver(bytes32 node) external view returns (address);\n\n function ttl(bytes32 node) external view returns (uint64);\n\n function recordExists(bytes32 node) external view returns (bool);\n\n function isApprovedForAll(\n address owner,\n address operator\n ) external view returns (bool);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\n/**\n * Interface for the new (multicoin) addr function.\n */\ninterface IAddressResolver {\n event AddressChanged(\n bytes32 indexed node,\n uint256 coinType,\n bytes newAddress\n );\n\n function addr(\n bytes32 node,\n uint256 coinType\n ) external view returns (bytes memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.4;\n\n/**\n * Interface for the legacy (ETH-only) addr function.\n */\ninterface IAddrResolver {\n event AddrChanged(bytes32 indexed node, address a);\n\n /**\n * Returns the address associated with an ENS node.\n * @param node The ENS node to query.\n * @return The associated address.\n */\n function addr(bytes32 node) external view returns (address payable);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\ninterface IExtendedResolver {\n function resolve(\n bytes memory name,\n bytes memory data\n ) external view returns (bytes memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nlibrary BytesUtils {\n error OffsetOutOfBoundsError(uint256 offset, uint256 length);\n\n /*\n * @dev Returns the keccak-256 hash of a byte range.\n * @param self The byte string to hash.\n * @param offset The position to start hashing at.\n * @param len The number of bytes to hash.\n * @return The hash of the byte range.\n */\n function keccak(\n bytes memory self,\n uint256 offset,\n uint256 len\n ) internal pure returns (bytes32 ret) {\n require(offset + len <= self.length);\n assembly {\n ret := keccak256(add(add(self, 32), offset), len)\n }\n }\n\n /**\n * @dev Returns the ENS namehash of a DNS-encoded name.\n * @param self The DNS-encoded name to hash.\n * @param offset The offset at which to start hashing.\n * @return The namehash of the name.\n */\n function namehash(\n bytes memory self,\n uint256 offset\n ) internal pure returns (bytes32) {\n (bytes32 labelhash, uint256 newOffset) = readLabel(self, offset);\n if (labelhash == bytes32(0)) {\n require(offset == self.length - 1, \"namehash: Junk at end of name\");\n return bytes32(0);\n }\n return\n keccak256(abi.encodePacked(namehash(self, newOffset), labelhash));\n }\n\n /**\n * @dev Returns the keccak-256 hash of a DNS-encoded label, and the offset to the start of the next label.\n * @param self The byte string to read a label from.\n * @param idx The index to read a label at.\n * @return labelhash The hash of the label at the specified index, or 0 if it is the last label.\n * @return newIdx The index of the start of the next label.\n */\n function readLabel(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes32 labelhash, uint256 newIdx) {\n require(idx < self.length, \"readLabel: Index out of bounds\");\n uint256 len = uint256(uint8(self[idx]));\n if (len > 0) {\n labelhash = keccak(self, idx + 1, len);\n } else {\n labelhash = bytes32(0);\n }\n newIdx = idx + len + 1;\n }\n\n /*\n * @dev Returns a positive number if `other` comes lexicographically after\n * `self`, a negative number if it comes before, or zero if the\n * contents of the two bytes are equal.\n * @param self The first bytes to compare.\n * @param other The second bytes to compare.\n * @return The result of the comparison.\n */\n function compare(\n bytes memory self,\n bytes memory other\n ) internal pure returns (int256) {\n return compare(self, 0, self.length, other, 0, other.length);\n }\n\n /*\n * @dev Returns a positive number if `other` comes lexicographically after\n * `self`, a negative number if it comes before, or zero if the\n * contents of the two bytes are equal. Comparison is done per-rune,\n * on unicode codepoints.\n * @param self The first bytes to compare.\n * @param offset The offset of self.\n * @param len The length of self.\n * @param other The second bytes to compare.\n * @param otheroffset The offset of the other string.\n * @param otherlen The length of the other string.\n * @return The result of the comparison.\n */\n function compare(\n bytes memory self,\n uint256 offset,\n uint256 len,\n bytes memory other,\n uint256 otheroffset,\n uint256 otherlen\n ) internal pure returns (int256) {\n if (offset + len > self.length) {\n revert OffsetOutOfBoundsError(offset + len, self.length);\n }\n if (otheroffset + otherlen > other.length) {\n revert OffsetOutOfBoundsError(otheroffset + otherlen, other.length);\n }\n\n uint256 shortest = len;\n if (otherlen < len) shortest = otherlen;\n\n uint256 selfptr;\n uint256 otherptr;\n\n assembly {\n selfptr := add(self, add(offset, 32))\n otherptr := add(other, add(otheroffset, 32))\n }\n for (uint256 idx = 0; idx < shortest; idx += 32) {\n uint256 a;\n uint256 b;\n assembly {\n a := mload(selfptr)\n b := mload(otherptr)\n }\n if (a != b) {\n // Mask out irrelevant bytes and check again\n uint256 mask;\n if (shortest - idx >= 32) {\n mask = type(uint256).max;\n } else {\n mask = ~(2 ** (8 * (idx + 32 - shortest)) - 1);\n }\n int256 diff = int256(a & mask) - int256(b & mask);\n if (diff != 0) return diff;\n }\n selfptr += 32;\n otherptr += 32;\n }\n\n return int256(len) - int256(otherlen);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @param otherOffset The offset into the second byte range.\n * @param len The number of bytes to compare\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other,\n uint256 otherOffset,\n uint256 len\n ) internal pure returns (bool) {\n return keccak(self, offset, len) == keccak(other, otherOffset, len);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal with offsets.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @param otherOffset The offset into the second byte range.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other,\n uint256 otherOffset\n ) internal pure returns (bool) {\n return\n keccak(self, offset, self.length - offset) ==\n keccak(other, otherOffset, other.length - otherOffset);\n }\n\n /*\n * @dev Compares a range of 'self' to all of 'other' and returns True iff\n * they are equal.\n * @param self The first byte range to compare.\n * @param offset The offset into the first byte range.\n * @param other The second byte range to compare.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n uint256 offset,\n bytes memory other\n ) internal pure returns (bool) {\n return\n self.length == offset + other.length &&\n equals(self, offset, other, 0, other.length);\n }\n\n /*\n * @dev Returns true if the two byte ranges are equal.\n * @param self The first byte range to compare.\n * @param other The second byte range to compare.\n * @return True if the byte ranges are equal, false otherwise.\n */\n function equals(\n bytes memory self,\n bytes memory other\n ) internal pure returns (bool) {\n return\n self.length == other.length &&\n equals(self, 0, other, 0, self.length);\n }\n\n /*\n * @dev Returns the 8-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 8 bits of the string, interpreted as an integer.\n */\n function readUint8(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint8 ret) {\n return uint8(self[idx]);\n }\n\n /*\n * @dev Returns the 16-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 16 bits of the string, interpreted as an integer.\n */\n function readUint16(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint16 ret) {\n require(idx + 2 <= self.length);\n assembly {\n ret := and(mload(add(add(self, 2), idx)), 0xFFFF)\n }\n }\n\n /*\n * @dev Returns the 32-bit number at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bits of the string, interpreted as an integer.\n */\n function readUint32(\n bytes memory self,\n uint256 idx\n ) internal pure returns (uint32 ret) {\n require(idx + 4 <= self.length);\n assembly {\n ret := and(mload(add(add(self, 4), idx)), 0xFFFFFFFF)\n }\n }\n\n /*\n * @dev Returns the 32 byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bytes of the string.\n */\n function readBytes32(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes32 ret) {\n require(idx + 32 <= self.length);\n assembly {\n ret := mload(add(add(self, 32), idx))\n }\n }\n\n /*\n * @dev Returns the 32 byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes\n * @return The specified 32 bytes of the string.\n */\n function readBytes20(\n bytes memory self,\n uint256 idx\n ) internal pure returns (bytes20 ret) {\n require(idx + 20 <= self.length);\n assembly {\n ret := and(\n mload(add(add(self, 32), idx)),\n 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\n )\n }\n }\n\n /*\n * @dev Returns the n byte value at the specified index of self.\n * @param self The byte string.\n * @param idx The index into the bytes.\n * @param len The number of bytes.\n * @return The specified 32 bytes of the string.\n */\n function readBytesN(\n bytes memory self,\n uint256 idx,\n uint256 len\n ) internal pure returns (bytes32 ret) {\n require(len <= 32);\n require(idx + len <= self.length);\n assembly {\n let mask := not(sub(exp(256, sub(32, len)), 1))\n ret := and(mload(add(add(self, 32), idx)), mask)\n }\n }\n\n function memcpy(uint256 dest, uint256 src, uint256 len) private pure {\n // Copy word-length chunks while possible\n for (; len >= 32; len -= 32) {\n assembly {\n mstore(dest, mload(src))\n }\n dest += 32;\n src += 32;\n }\n\n // Copy remaining bytes\n unchecked {\n uint256 mask = (256 ** (32 - len)) - 1;\n assembly {\n let srcpart := and(mload(src), not(mask))\n let destpart := and(mload(dest), mask)\n mstore(dest, or(destpart, srcpart))\n }\n }\n }\n\n /*\n * @dev Copies a substring into a new byte string.\n * @param self The byte string to copy from.\n * @param offset The offset to start copying at.\n * @param len The number of bytes to copy.\n */\n function substring(\n bytes memory self,\n uint256 offset,\n uint256 len\n ) internal pure returns (bytes memory) {\n require(offset + len <= self.length);\n\n bytes memory ret = new bytes(len);\n uint256 dest;\n uint256 src;\n\n assembly {\n dest := add(ret, 32)\n src := add(add(self, 32), offset)\n }\n memcpy(dest, src, len);\n\n return ret;\n }\n\n // Maps characters from 0x30 to 0x7A to their base32 values.\n // 0xFF represents invalid characters in that range.\n bytes constant base32HexTable =\n hex\"00010203040506070809FFFFFFFFFFFFFF0A0B0C0D0E0F101112131415161718191A1B1C1D1E1FFFFFFFFFFFFFFFFFFFFF0A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\";\n\n /**\n * @dev Decodes unpadded base32 data of up to one word in length.\n * @param self The data to decode.\n * @param off Offset into the string to start at.\n * @param len Number of characters to decode.\n * @return The decoded data, left aligned.\n */\n function base32HexDecodeWord(\n bytes memory self,\n uint256 off,\n uint256 len\n ) internal pure returns (bytes32) {\n require(len <= 52);\n\n uint256 ret = 0;\n uint8 decoded;\n for (uint256 i = 0; i < len; i++) {\n bytes1 char = self[off + i];\n require(char >= 0x30 && char <= 0x7A);\n decoded = uint8(base32HexTable[uint256(uint8(char)) - 0x30]);\n require(decoded <= 0x20);\n if (i == len - 1) {\n break;\n }\n ret = (ret << 5) | decoded;\n }\n\n uint256 bitlen = len * 5;\n if (len % 8 == 0) {\n // Multiple of 8 characters, no padding\n ret = (ret << 5) | decoded;\n } else if (len % 8 == 2) {\n // Two extra characters - 1 byte\n ret = (ret << 3) | (decoded >> 2);\n bitlen -= 2;\n } else if (len % 8 == 4) {\n // Four extra characters - 2 bytes\n ret = (ret << 1) | (decoded >> 4);\n bitlen -= 4;\n } else if (len % 8 == 5) {\n // Five extra characters - 3 bytes\n ret = (ret << 4) | (decoded >> 1);\n bitlen -= 1;\n } else if (len % 8 == 7) {\n // Seven extra characters - 4 bytes\n ret = (ret << 2) | (decoded >> 3);\n bitlen -= 3;\n } else {\n revert();\n }\n\n return bytes32(ret << (256 - bitlen));\n }\n\n /**\n * @dev Finds the first occurrence of the byte `needle` in `self`.\n * @param self The string to search\n * @param off The offset to start searching at\n * @param len The number of bytes to search\n * @param needle The byte to search for\n * @return The offset of `needle` in `self`, or 2**256-1 if it was not found.\n */\n function find(\n bytes memory self,\n uint256 off,\n uint256 len,\n bytes1 needle\n ) internal pure returns (uint256) {\n for (uint256 idx = off; idx < off + len; idx++) {\n if (self[idx] == needle) {\n return idx;\n }\n }\n return type(uint256).max;\n }\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\ninterface IMetadataService {\n function uri(uint256) external view returns (string memory);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\nimport \"../registry/ENS.sol\";\nimport \"../ethregistrar/IBaseRegistrar.sol\";\nimport \"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\";\nimport \"./IMetadataService.sol\";\nimport \"./INameWrapperUpgrade.sol\";\n\nuint32 constant CANNOT_UNWRAP = 1;\nuint32 constant CANNOT_BURN_FUSES = 2;\nuint32 constant CANNOT_TRANSFER = 4;\nuint32 constant CANNOT_SET_RESOLVER = 8;\nuint32 constant CANNOT_SET_TTL = 16;\nuint32 constant CANNOT_CREATE_SUBDOMAIN = 32;\nuint32 constant CANNOT_APPROVE = 64;\n//uint16 reserved for parent controlled fuses from bit 17 to bit 32\nuint32 constant PARENT_CANNOT_CONTROL = 1 << 16;\nuint32 constant IS_DOT_ETH = 1 << 17;\nuint32 constant CAN_EXTEND_EXPIRY = 1 << 18;\nuint32 constant CAN_DO_EVERYTHING = 0;\nuint32 constant PARENT_CONTROLLED_FUSES = 0xFFFF0000;\n// all fuses apart from IS_DOT_ETH\nuint32 constant USER_SETTABLE_FUSES = 0xFFFDFFFF;\n\ninterface INameWrapper is IERC1155 {\n event NameWrapped(\n bytes32 indexed node,\n bytes name,\n address owner,\n uint32 fuses,\n uint64 expiry\n );\n\n event NameUnwrapped(bytes32 indexed node, address owner);\n\n event FusesSet(bytes32 indexed node, uint32 fuses);\n event ExpiryExtended(bytes32 indexed node, uint64 expiry);\n\n function ens() external view returns (ENS);\n\n function registrar() external view returns (IBaseRegistrar);\n\n function metadataService() external view returns (IMetadataService);\n\n function names(bytes32) external view returns (bytes memory);\n\n function name() external view returns (string memory);\n\n function upgradeContract() external view returns (INameWrapperUpgrade);\n\n function supportsInterface(bytes4 interfaceID) external view returns (bool);\n\n function wrap(\n bytes calldata name,\n address wrappedOwner,\n address resolver\n ) external;\n\n function wrapETH2LD(\n string calldata label,\n address wrappedOwner,\n uint16 ownerControlledFuses,\n address resolver\n ) external returns (uint64 expires);\n\n function registerAndWrapETH2LD(\n string calldata label,\n address wrappedOwner,\n uint256 duration,\n address resolver,\n uint16 ownerControlledFuses\n ) external returns (uint256 registrarExpiry);\n\n function renew(\n uint256 labelHash,\n uint256 duration\n ) external returns (uint256 expires);\n\n function unwrap(bytes32 node, bytes32 label, address owner) external;\n\n function unwrapETH2LD(\n bytes32 label,\n address newRegistrant,\n address newController\n ) external;\n\n function upgrade(bytes calldata name, bytes calldata extraData) external;\n\n function setFuses(\n bytes32 node,\n uint16 ownerControlledFuses\n ) external returns (uint32 newFuses);\n\n function setChildFuses(\n bytes32 parentNode,\n bytes32 labelhash,\n uint32 fuses,\n uint64 expiry\n ) external;\n\n function setSubnodeRecord(\n bytes32 node,\n string calldata label,\n address owner,\n address resolver,\n uint64 ttl,\n uint32 fuses,\n uint64 expiry\n ) external returns (bytes32);\n\n function setRecord(\n bytes32 node,\n address owner,\n address resolver,\n uint64 ttl\n ) external;\n\n function setSubnodeOwner(\n bytes32 node,\n string calldata label,\n address newOwner,\n uint32 fuses,\n uint64 expiry\n ) external returns (bytes32);\n\n function extendExpiry(\n bytes32 node,\n bytes32 labelhash,\n uint64 expiry\n ) external returns (uint64);\n\n function canModifyName(\n bytes32 node,\n address addr\n ) external view returns (bool);\n\n function setResolver(bytes32 node, address resolver) external;\n\n function setTTL(bytes32 node, uint64 ttl) external;\n\n function ownerOf(uint256 id) external view returns (address owner);\n\n function approve(address to, uint256 tokenId) external;\n\n function getApproved(uint256 tokenId) external view returns (address);\n\n function getData(\n uint256 id\n ) external view returns (address, uint32, uint64);\n\n function setMetadataService(IMetadataService _metadataService) external;\n\n function uri(uint256 tokenId) external view returns (string memory);\n\n function setUpgradeContract(INameWrapperUpgrade _upgradeAddress) external;\n\n function allFusesBurned(\n bytes32 node,\n uint32 fuseMask\n ) external view returns (bool);\n\n function isWrapped(bytes32) external view returns (bool);\n\n function isWrapped(bytes32, bytes32) external view returns (bool);\n}\n" + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ~0.8.17;\n\ninterface INameWrapperUpgrade {\n function wrapFromUpgrade(\n bytes calldata name,\n address wrappedOwner,\n uint32 fuses,\n uint64 expiry,\n address approved,\n bytes calldata extraData\n ) external;\n}\n" + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC1155/IERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC1155 compliant contract, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1155[EIP].\n *\n * _Available since v3.1._\n */\ninterface IERC1155 is IERC165 {\n /**\n * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\n */\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\n\n /**\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n * transfers.\n */\n event TransferBatch(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256[] ids,\n uint256[] values\n );\n\n /**\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n * `approved`.\n */\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\n\n /**\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n *\n * If an {URI} event was emitted for `id`, the standard\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n * returned by {IERC1155MetadataURI-uri}.\n */\n event URI(string value, uint256 indexed id);\n\n /**\n * @dev Returns the amount of tokens of token type `id` owned by `account`.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(\n address[] calldata accounts,\n uint256[] calldata ids\n ) external view returns (uint256[] memory);\n\n /**\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the caller.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n *\n * See {setApprovalForAll}.\n */\n function isApprovedForAll(address account, address operator) external view returns (bool);\n\n /**\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external;\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] calldata ids,\n uint256[] calldata amounts,\n bytes calldata data\n ) external;\n}\n" + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Address.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "contracts/IAddrSetter.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\ninterface IAddrSetter {\n function setAddr(\n bytes calldata name,\n address _addr\n ) external view returns (bytes memory result);\n}\n" + }, + "contracts/ITargetResolver.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\ninterface ITargetResolver {\n function getTarget(\n bytes memory name\n ) external view returns (bytes32 node, address target);\n}\n" + }, + "contracts/LabelUtils.sol": { + "content": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.25;\n\n/**\n * @title Library to perform ENS label manipulation\n * @author ConsenSys Software Inc.\n */\nlibrary LabelUtils {\n /**\n * Extract the first label name from a dns encoded ens domain\n * @param name the dns encoded ENS domain\n * @return label as bytes\n */\n function extractFirstLabel(\n bytes memory name\n ) external pure returns (bytes memory) {\n uint256 idx = 0;\n uint8 labelLength = uint8(name[idx]);\n idx++;\n bytes memory label = new bytes(labelLength);\n for (uint256 i = 0; i < labelLength; i++) {\n label[i] = name[idx + i];\n }\n return label;\n }\n\n /**\n * Extract the numeric suffix from the dns encoded label\n * @param label the dns encoded label\n * @return number the numeric suffix\n */\n function extractNumericSuffix(\n bytes memory label\n ) external pure returns (uint256) {\n uint256 num = 0;\n bool hasNumber = false;\n\n for (uint256 i = 0; i < label.length; i++) {\n uint8 char = uint8(label[i]);\n if (char >= 48 && char <= 57) {\n // ASCII for '0' is 48 and '9' is 57\n num = num * 10 + (char - 48);\n hasNumber = true;\n } else if (hasNumber) {\n // Break on first non-digit after starting to read numbers\n break;\n }\n }\n\n require(hasNumber, \"No numeric suffix found\");\n return num;\n }\n\n /**\n * Check if the bytes param is a number or not\n * @param input bytes to check\n * @return true if number, false otherwise\n */\n function isNumber(bytes memory input) public pure returns (bool) {\n for (uint i = 0; i < input.length; i++) {\n // Check if each byte is within the ASCII range for '0' to '9'\n if (input[i] < 0x30 || input[i] > 0x39) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Counts the number of labels in the DNS encoded input given\n * @param input the DNS encoded input to count from\n * @return number labels found\n */\n function countLabels(bytes memory input) public pure returns (uint) {\n uint count = 0;\n uint i = 0;\n\n while (i < input.length) {\n uint labelLength = uint(uint8(input[i]));\n if (labelLength == 0) {\n break; // End of the DNS name\n }\n count++;\n i += labelLength + 1;\n }\n\n return count;\n }\n}\n" + }, + "contracts/NFTResolver.sol": { + "content": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.25;\n\nimport {EVMFetcher} from \"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\";\nimport {EVMFetchTarget} from \"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\";\nimport {IEVMVerifier} from \"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\";\nimport \"@ensdomains/ens-contracts/contracts/registry/ENS.sol\";\nimport {INameWrapper} from \"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\";\nimport {BytesUtils} from \"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\";\nimport {IAddrResolver} from \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\";\nimport {IAddressResolver} from \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\";\nimport \"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\";\nimport {ITargetResolver} from \"./ITargetResolver.sol\";\nimport {IAddrSetter} from \"./IAddrSetter.sol\";\nimport \"@openzeppelin/contracts/utils/introspection/ERC165.sol\";\nimport {LabelUtils} from \"./LabelUtils.sol\";\n\ncontract NFTResolver is\n EVMFetchTarget,\n ITargetResolver,\n IExtendedResolver,\n IAddrSetter,\n ERC165\n{\n using EVMFetcher for EVMFetcher.EVMFetchRequest;\n using BytesUtils for bytes;\n IEVMVerifier public immutable verifier;\n ENS public immutable ens;\n INameWrapper public immutable nameWrapper;\n uint256 public immutable l2ChainId;\n // The targeted NFT contract on L2\n mapping(bytes32 => address) targets;\n // The resolver for the base nodes(if any)\n mapping(bytes32 => address) baseNodeResolvers;\n // The owner slots in target contract containing the addresses to resolve to\n mapping(address => uint256) targetAddrSlots;\n // To check how old is the value/proof returned and is in the acceptable range\n uint256 constant ACCEPTED_L2_BLOCK_RANGE_LENGTH = 86400;\n\n event TargetSet(bytes name, address target);\n event BaseNodeResolverSet(bytes32 node, address resolverAddr);\n event TargetAddrSlotSet(address target, uint256 slot);\n\n function isAuthorised(bytes32 node) internal view returns (bool) {\n address owner = ens.owner(node);\n if (owner == address(nameWrapper)) {\n owner = nameWrapper.ownerOf(uint256(node));\n }\n return owner == msg.sender;\n }\n\n /**\n * @dev EIP-5559 - Error to raise when mutations are being deferred to an L2.\n * @param chainId Chain ID to perform the deferred mutation to.\n * @param contractAddress Contract Address at which the deferred mutation should transact with.\n */\n error StorageHandledByL2(uint256 chainId, address contractAddress);\n\n /**\n * @param _verifier The chain verifier address.\n * @param _ens The ENS registry address.\n * @param _nameWrapper The ENS name wrapper address.\n * @param _l2ChainId The chainId at which the resolver resolves data from.\n */\n constructor(\n IEVMVerifier _verifier,\n ENS _ens,\n INameWrapper _nameWrapper,\n uint256 _l2ChainId\n ) {\n require(\n address(_nameWrapper) != address(0),\n \"Name Wrapper address must be set\"\n );\n require(\n address(_verifier) != address(0),\n \"Verifier address must be set\"\n );\n require(address(_ens) != address(0), \"Registry address must be set\");\n verifier = _verifier;\n ens = _ens;\n nameWrapper = _nameWrapper;\n l2ChainId = _l2ChainId;\n }\n\n /**\n * @dev inherits from EVMFetchTarget\n */\n function getAcceptedL2BlockRangeLength()\n public\n pure\n override\n returns (uint256)\n {\n return ACCEPTED_L2_BLOCK_RANGE_LENGTH;\n }\n\n /**\n * Set target address to verify against.\n * @param name The DNS encoded name to set the target for.\n * @param target The L2 resolver address to verify against.\n */\n function setTarget(bytes calldata name, address target) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set target for this node\"\n );\n targets[node] = target;\n emit TargetSet(name, target);\n }\n\n /**\n * Set base node resolver address.\n * @param name The DNS encoded name to set the base node resolver.\n * @param resolverAddr The resolver address to use.\n */\n function setBaseNodeResolver(\n bytes calldata name,\n address resolverAddr\n ) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set resolver for this node\"\n );\n baseNodeResolvers[node] = resolverAddr;\n emit BaseNodeResolverSet(node, resolverAddr);\n }\n\n /**\n * Set the slot to query by ccip to get the address from the target contract.\n * @param name The DNS encoded name to set the target address slot to query.\n * @param slot The slot to set.\n */\n function setTargetAddrSlot(bytes calldata name, uint256 slot) external {\n (bytes32 node, ) = getTarget(name);\n require(\n isAuthorised(node),\n \"Not authorized to set target address slot for this node\"\n );\n address target = targets[node];\n targetAddrSlots[target] = slot;\n emit TargetAddrSlotSet(target, slot);\n }\n\n /**\n * @dev Returns the L2 target address that can answer queries for `name`.\n * @param name DNS encoded ENS name to query.\n * @return node The node of the name.\n * @return target The L2 resolver address to verify against.\n */\n function getTarget(\n bytes memory name\n ) public view returns (bytes32 node, address target) {\n return _getTarget(name, 0);\n }\n\n function _getTarget(\n bytes memory name,\n uint256 offset\n ) private view returns (bytes32 node, address target) {\n uint256 len = name.readUint8(offset);\n node = bytes32(0);\n if (len > 0) {\n bytes32 label = name.keccak(offset + 1, len);\n (node, target) = _getTarget(name, offset + len + 1);\n node = keccak256(abi.encodePacked(node, label));\n if (targets[node] != address(0)) {\n return (node, targets[node]);\n }\n } else {\n return (bytes32(0), address(0));\n }\n return (node, target);\n }\n\n /**\n * @dev Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\n * @param name DNS encoded ENS name to query.\n * @param data The actual calldata.\n * @return result Result of the call.\n */\n function resolve(\n bytes calldata name,\n bytes calldata data\n ) external view returns (bytes memory result) {\n require(data.length >= 4, \"param data too short\");\n\n bytes32 node = abi.decode(data[4:], (bytes32));\n bool isBaseDomain = targets[node] != address(0);\n\n // If trying to resolve the base domain, we use the PublicResolver\n if (isBaseDomain) {\n address baseNodeResolver = baseNodeResolvers[node];\n return _resolve(baseNodeResolver, data);\n }\n\n // Only accept 1 level subdomain\n require(LabelUtils.countLabels(name) <= 3, \"Too many subdomain levels\");\n\n (, address target) = _getTarget(name, 0);\n\n bytes4 selector = bytes4(data);\n\n if (selector == IAddrResolver.addr.selector) {\n // Get NFT Index from the DNS encoded name\n uint256 nftId = extractNFTId(name);\n uint256 slot = targetAddrSlots[target];\n return _addr(nftId, slot, target);\n }\n\n // None selector has been found it reverts\n revert(\"invalid selector\");\n }\n\n /**\n * Get the NFT Id from the ENS name's label.\n * @param name DNS encoded ENS name.\n * @return id The NFT id.\n */\n function extractNFTId(bytes calldata name) public pure returns (uint256) {\n bytes memory firstLabel = LabelUtils.extractFirstLabel(name);\n // Only accept numbers as the label\n require(LabelUtils.isNumber(firstLabel), \"Label is not a number\");\n return LabelUtils.extractNumericSuffix(firstLabel);\n }\n\n /**\n * @dev Resolve and throws an EIP 3559 compliant error.\n * @param name DNS encoded ENS name to query.\n * @param _addr The actual calldata.\n * @return result Result of the call.\n */\n function setAddr(\n bytes calldata name,\n address _addr\n ) external view returns (bytes memory result) {\n (, address target) = _getTarget(name, 0);\n _writeDeferral(target);\n }\n\n /**\n * @dev The `PublicResolver` does not implement the `resolve(bytes,bytes)` method.\n * This method completes the resolution request by staticcalling `PublicResolver` with the resolve request.\n * Implementation matches the ENS `ExtendedResolver:resolve(bytes,bytes)` method with the exception that it `staticcall`s the\n * the `rootResolver` instead of `address(this)`.\n * @param data The ABI encoded data for the underlying resolution function (Eg, addr(bytes32), text(bytes32,string), etc).\n * @return The return data, ABI encoded identically to the underlying function.\n */\n function _resolve(\n address baseNodeResolver,\n bytes memory data\n ) internal view returns (bytes memory) {\n (bool success, bytes memory result) = baseNodeResolver.staticcall(data);\n if (success) {\n return result;\n } else {\n // Revert with the reason provided by the call\n assembly {\n revert(add(result, 0x20), mload(result))\n }\n }\n }\n\n function _addr(\n uint256 tokenId,\n uint256 slot,\n address target\n ) private view returns (bytes memory) {\n EVMFetcher\n .newFetchRequest(verifier, target)\n .getStatic(slot)\n .element(tokenId)\n .fetch(this.addrCallback.selector, \"\"); // recordVersions\n }\n\n function addrCallback(\n bytes[] memory values,\n bytes memory\n ) external pure returns (bytes memory) {\n address addr = abi.decode(values[0], (address));\n return abi.encode(addr);\n }\n\n function supportsInterface(\n bytes4 interfaceId\n ) public view override returns (bool) {\n return\n interfaceId == type(IExtendedResolver).interfaceId ||\n interfaceId == type(ITargetResolver).interfaceId ||\n interfaceId == type(IAddrSetter).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function _writeDeferral(address target) internal view {\n revert StorageHandledByL2(l2ChainId, target);\n }\n}\n" + } + }, + "settings": { + "evmVersion": "paris", + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "errors": [ + { + "component": "general", + "errorCode": "1878", + "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> @ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\n\n", + "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: \" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", + "severity": "warning", + "sourceLocation": { + "end": -1, + "file": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "start": -1 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "3420", + "formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.25;\"\n--> @ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\n\n", + "message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.25;\"", + "severity": "warning", + "sourceLocation": { + "end": -1, + "file": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "start": -1 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "2519", + "formattedMessage": "Warning: This declaration shadows an existing declaration.\n --> contracts/NFTResolver.sol:237:9:\n |\n237 | address _addr\n | ^^^^^^^^^^^^^\nNote: The shadowed declaration is here:\n --> contracts/NFTResolver.sol:266:5:\n |\n266 | function _addr(\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "This declaration shadows an existing declaration.", + "secondarySourceLocations": [ + { + "end": 10156, + "file": "contracts/NFTResolver.sol", + "message": "The shadowed declaration is here:", + "start": 9826 + } + ], + "severity": "warning", + "sourceLocation": { + "end": 8612, + "file": "contracts/NFTResolver.sol", + "start": 8599 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/NFTResolver.sol:237:9:\n |\n237 | address _addr\n | ^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 8612, + "file": "contracts/NFTResolver.sol", + "start": 8599 + }, + "type": "Warning" + }, + { + "component": "general", + "errorCode": "5667", + "formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/NFTResolver.sol:238:30:\n |\n238 | ) external view returns (bytes memory result) {\n | ^^^^^^^^^^^^^^^^^^^\n\n", + "message": "Unused function parameter. Remove or comment out the variable name to silence this warning.", + "severity": "warning", + "sourceLocation": { + "end": 8661, + "file": "contracts/NFTResolver.sol", + "start": 8642 + }, + "type": "Warning" + } + ], + "sources": { + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "exportedSymbols": { + "Address": [ + 2987 + ], + "EVMFetchTarget": [ + 122 + ], + "IEVMVerifier": [ + 798 + ] + }, + "id": 123, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:0" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "./IEVMVerifier.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 123, + "sourceUnit": 799, + "src": "57:48:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "65:12:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "@openzeppelin/contracts/utils/Address.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 123, + "sourceUnit": 2988, + "src": "106:66:0", + "symbolAliases": [ + { + "foreign": { + "id": 4, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "114:7:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "EVMFetchTarget", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "174:185:0", + "text": " @dev Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must\n inherit from this contract in order to handle callbacks correctly." + }, + "fullyImplemented": false, + "id": 122, + "linearizedBaseContracts": [ + 122 + ], + "name": "EVMFetchTarget", + "nameLocation": "378:14:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 9, + "libraryName": { + "id": 7, + "name": "Address", + "nameLocations": [ + "405:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2987, + "src": "405:7:0" + }, + "nodeType": "UsingForDirective", + "src": "399:26:0", + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "417:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "errorSelector": "29189425", + "id": 15, + "name": "ResponseLengthMismatch", + "nameLocation": "437:22:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 14, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "mutability": "mutable", + "name": "actual", + "nameLocation": "468:6:0", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "460:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "460:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "expected", + "nameLocation": "484:8:0", + "nodeType": "VariableDeclaration", + "scope": 15, + "src": "476:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "476:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "459:34:0" + }, + "src": "431:63:0" + }, + { + "body": { + "id": 114, + "nodeType": "Block", + "src": "758:961:0", + "statements": [ + { + "assignments": [ + 26 + ], + "declarations": [ + { + "constant": false, + "id": 26, + "mutability": "mutable", + "name": "proof", + "nameLocation": "781:5:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "768:18:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 25, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "768:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 34, + "initialValue": { + "arguments": [ + { + "id": 29, + "name": "response", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "800:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 31, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "811:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 30, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "811:5:0", + "typeDescriptions": {} + } + } + ], + "id": 32, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "810:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + } + ], + "expression": { + "id": 27, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "789:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "793:6:0", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "789:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "789:29:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "768:50:0" + }, + { + "assignments": [ + 37, + 39, + 42, + 45, + 47, + 49 + ], + "declarations": [ + { + "constant": false, + "id": 37, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "855:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "842:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 36, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 35, + "name": "IEVMVerifier", + "nameLocations": [ + "842:12:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "842:12:0" + }, + "referencedDeclaration": 798, + "src": "842:12:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "mutability": "mutable", + "name": "addr", + "nameLocation": "885:4:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "877:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 38, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "877:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "mutability": "mutable", + "name": "commands", + "nameLocation": "920:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "903:25:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 40, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "903:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 41, + "nodeType": "ArrayTypeName", + "src": "903:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 45, + "mutability": "mutable", + "name": "constants", + "nameLocation": "957:9:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "942:24:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 43, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "942:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 44, + "nodeType": "ArrayTypeName", + "src": "942:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "callback", + "nameLocation": "987:8:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "980:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 46, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "980:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 49, + "mutability": "mutable", + "name": "callbackData", + "nameLocation": "1022:12:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1009:25:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 48, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1009:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 68, + "initialValue": { + "arguments": [ + { + "id": 52, + "name": "extradata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "1075:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 53, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "1103:12:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEVMVerifier_$798_$", + "typeString": "type(contract IEVMVerifier)" + } + }, + { + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1117:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 54, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1117:7:0", + "typeDescriptions": {} + } + }, + { + "baseExpression": { + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1126:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 56, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1126:7:0", + "typeDescriptions": {} + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1126:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "type(bytes32[] memory)" + } + }, + { + "baseExpression": { + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1137:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 59, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1137:5:0", + "typeDescriptions": {} + } + }, + "id": 61, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1137:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + }, + { + "id": 63, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1146:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 62, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1146:6:0", + "typeDescriptions": {} + } + }, + { + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1154:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 64, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1154:5:0", + "typeDescriptions": {} + } + } + ], + "id": 66, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1102:58:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_contract$_IEVMVerifier_$798_$_$_t_type$_t_address_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$", + "typeString": "tuple(type(contract IEVMVerifier),type(address),type(bytes32[] memory),type(bytes memory[] memory),type(bytes4),type(bytes storage pointer))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_contract$_IEVMVerifier_$798_$_$_t_type$_t_address_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$", + "typeString": "tuple(type(contract IEVMVerifier),type(address),type(bytes32[] memory),type(bytes memory[] memory),type(bytes4),type(bytes storage pointer))" + } + ], + "expression": { + "id": 50, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1047:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1051:6:0", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1047:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 67, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1047:127:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IEVMVerifier_$798_$_t_address_payable_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$", + "typeString": "tuple(contract IEVMVerifier,address payable,bytes32[] memory,bytes memory[] memory,bytes4,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "828:346:0" + }, + { + "assignments": [ + 73 + ], + "declarations": [ + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "values", + "nameLocation": "1200:6:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1185:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 71, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1185:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 72, + "nodeType": "ArrayTypeName", + "src": "1185:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 83, + "initialValue": { + "arguments": [ + { + "id": 76, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "1248:4:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 77, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1266:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "id": 78, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "1288:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 79, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26, + "src": "1311:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 80, + "name": "getAcceptedL2BlockRangeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121, + "src": "1330:29:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1330:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 74, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "1209:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1218:16:0", + "memberName": "getStorageValues", + "nodeType": "MemberAccess", + "referencedDeclaration": 797, + "src": "1209:25:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (address,bytes32[] memory,bytes memory[] memory,bytes memory,uint256) view external returns (bytes memory[] memory)" + } + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1209:162:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1185:186:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 84, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1386:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1393:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1386:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 86, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1403:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1412:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1403:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1386:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 97, + "nodeType": "IfStatement", + "src": "1382:124:0", + "trueBody": { + "id": 96, + "nodeType": "Block", + "src": "1420:86:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 90, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1464:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1471:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1464:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 92, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1479:8:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1488:6:0", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1479:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 89, + "name": "ResponseLengthMismatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "1441:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1441:54:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 95, + "nodeType": "RevertStatement", + "src": "1434:61:0" + } + ] + } + }, + { + "assignments": [ + 99 + ], + "declarations": [ + { + "constant": false, + "id": 99, + "mutability": "mutable", + "name": "ret", + "nameLocation": "1528:3:0", + "nodeType": "VariableDeclaration", + "scope": 114, + "src": "1515:16:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 98, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1515:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 112, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 107, + "name": "callback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47, + "src": "1597:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 108, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "1607:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 109, + "name": "callbackData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49, + "src": "1615:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 105, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1574:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1578:18:0", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "1574:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1574:54:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 102, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1542:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EVMFetchTarget_$122", + "typeString": "contract EVMFetchTarget" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EVMFetchTarget_$122", + "typeString": "contract EVMFetchTarget" + } + ], + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1534:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1534:7:0", + "typeDescriptions": {} + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1534:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1548:12:0", + "memberName": "functionCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 2727, + "src": "1534:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1534:104:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1515:123:0" + }, + { + "AST": { + "nativeSrc": "1657:56:0", + "nodeType": "YulBlock", + "src": "1657:56:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "ret", + "nativeSrc": "1682:3:0", + "nodeType": "YulIdentifier", + "src": "1682:3:0" + }, + { + "kind": "number", + "nativeSrc": "1687:2:0", + "nodeType": "YulLiteral", + "src": "1687:2:0", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1678:3:0", + "nodeType": "YulIdentifier", + "src": "1678:3:0" + }, + "nativeSrc": "1678:12:0", + "nodeType": "YulFunctionCall", + "src": "1678:12:0" + }, + { + "arguments": [ + { + "name": "ret", + "nativeSrc": "1698:3:0", + "nodeType": "YulIdentifier", + "src": "1698:3:0" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1692:5:0", + "nodeType": "YulIdentifier", + "src": "1692:5:0" + }, + "nativeSrc": "1692:10:0", + "nodeType": "YulFunctionCall", + "src": "1692:10:0" + } + ], + "functionName": { + "name": "return", + "nativeSrc": "1671:6:0", + "nodeType": "YulIdentifier", + "src": "1671:6:0" + }, + "nativeSrc": "1671:32:0", + "nodeType": "YulFunctionCall", + "src": "1671:32:0" + }, + "nativeSrc": "1671:32:0", + "nodeType": "YulExpressionStatement", + "src": "1671:32:0" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "1682:3:0", + "valueSize": 1 + }, + { + "declaration": 99, + "isOffset": false, + "isSlot": false, + "src": "1698:3:0", + "valueSize": 1 + } + ], + "id": 113, + "nodeType": "InlineAssembly", + "src": "1648:65:0" + } + ] + }, + "documentation": { + "id": 16, + "nodeType": "StructuredDocumentation", + "src": "500:115:0", + "text": " @dev Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request." + }, + "functionSelector": "5bdaa916", + "id": 115, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStorageSlotsCallback", + "nameLocation": "629:23:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "response", + "nameLocation": "677:8:0", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "662:23:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 17, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "662:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 20, + "mutability": "mutable", + "name": "extradata", + "nameLocation": "710:9:0", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "695:24:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 19, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "695:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "652:73:0" + }, + "returnParameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115, + "src": "744:12:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 22, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "744:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "743:14:0" + }, + "scope": 122, + "src": "620:1099:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 116, + "nodeType": "StructuredDocumentation", + "src": "1725:189:0", + "text": " @dev The child contract has to return an accepted L2 block range used by the verifier\n to verify that the block number verified is in the accepted block range." + }, + "functionSelector": "6d74e86e", + "id": 121, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAcceptedL2BlockRangeLength", + "nameLocation": "1928:29:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [], + "src": "1957:2:0" + }, + "returnParameters": { + "id": 120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121, + "src": "2021:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2020:9:0" + }, + "scope": 122, + "src": "1919:111:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 123, + "src": "360:1672:0", + "usedErrors": [ + 15 + ], + "usedEvents": [] + } + ], + "src": "31:2002:0" + }, + "id": 0 + }, + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "exportedSymbols": { + "Address": [ + 2987 + ], + "EVMFetchTarget": [ + 122 + ], + "EVMFetcher": [ + 771 + ], + "FLAG_DYNAMIC": [ + 147 + ], + "IEVMGateway": [ + 144 + ], + "IEVMVerifier": [ + 798 + ], + "OP_BACKREF": [ + 153 + ], + "OP_CONSTANT": [ + 150 + ], + "OP_END": [ + 156 + ] + }, + "id": 772, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 124, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:1" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "./IEVMVerifier.sol", + "id": 126, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 799, + "src": "57:48:1", + "symbolAliases": [ + { + "foreign": { + "id": 125, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "65:12:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "file": "./EVMFetchTarget.sol", + "id": 128, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 123, + "src": "106:52:1", + "symbolAliases": [ + { + "foreign": { + "id": 127, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "114:14:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "@openzeppelin/contracts/utils/Address.sol", + "id": 130, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 772, + "sourceUnit": 2988, + "src": "159:66:1", + "symbolAliases": [ + { + "foreign": { + "id": 129, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "167:7:1", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IEVMGateway", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 144, + "linearizedBaseContracts": [ + 144 + ], + "name": "IEVMGateway", + "nameLocation": "237:11:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "ea9cd3bf", + "id": 143, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStorageSlots", + "nameLocation": "264:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 132, + "mutability": "mutable", + "name": "addr", + "nameLocation": "297:4:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "289:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "289:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 135, + "mutability": "mutable", + "name": "commands", + "nameLocation": "328:8:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "311:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "311:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 134, + "nodeType": "ArrayTypeName", + "src": "311:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "constants", + "nameLocation": "361:9:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "346:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 136, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "346:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 137, + "nodeType": "ArrayTypeName", + "src": "346:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "279:97:1" + }, + "returnParameters": { + "id": 142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "witness", + "nameLocation": "413:7:1", + "nodeType": "VariableDeclaration", + "scope": 143, + "src": "400:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 140, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "400:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "399:22:1" + }, + "scope": 144, + "src": "255:167:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "scope": 772, + "src": "227:197:1", + "usedErrors": [], + "usedEvents": [] + }, + { + "constant": true, + "id": 147, + "mutability": "constant", + "name": "FLAG_DYNAMIC", + "nameLocation": "441:12:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "426:34:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 145, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "426:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783031", + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "456:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 150, + "mutability": "constant", + "name": "OP_CONSTANT", + "nameLocation": "477:11:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "462:33:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 148, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "462:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783030", + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 153, + "mutability": "constant", + "name": "OP_BACKREF", + "nameLocation": "512:10:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "497:32:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 151, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "497:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30783230", + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "525:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 156, + "mutability": "constant", + "name": "OP_END", + "nameLocation": "546:6:1", + "nodeType": "VariableDeclaration", + "scope": 772, + "src": "531:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 154, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "531:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30786666", + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "555:4:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "0xff" + }, + "visibility": "internal" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "EVMFetcher", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 157, + "nodeType": "StructuredDocumentation", + "src": "562:176:1", + "text": " @dev A library to facilitate requesting storage data proofs from contracts, possibly on a different chain.\n See l1-verifier/test/TestL1.sol for example usage." + }, + "fullyImplemented": true, + "id": 771, + "linearizedBaseContracts": [ + 771 + ], + "name": "EVMFetcher", + "nameLocation": "747:10:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 160, + "mutability": "constant", + "name": "MAX_COMMANDS", + "nameLocation": "781:12:1", + "nodeType": "VariableDeclaration", + "scope": 771, + "src": "764:34:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "764:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3332", + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "796:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 163, + "mutability": "constant", + "name": "MAX_CONSTANTS", + "nameLocation": "821:13:1", + "nodeType": "VariableDeclaration", + "scope": 771, + "src": "804:35:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 161, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "804:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3332", + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "837:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "global": false, + "id": 166, + "libraryName": { + "id": 164, + "name": "Address", + "nameLocations": [ + "883:7:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2987, + "src": "883:7:1" + }, + "nodeType": "UsingForDirective", + "src": "877:26:1", + "typeName": { + "id": 165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "895:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "errorSelector": "128e7008", + "id": 170, + "name": "TooManyCommands", + "nameLocation": "915:15:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "max", + "nameLocation": "939:3:1", + "nodeType": "VariableDeclaration", + "scope": 170, + "src": "931:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "931:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "930:13:1" + }, + "src": "909:35:1" + }, + { + "errorSelector": "b00fd638", + "id": 172, + "name": "CommandTooLong", + "nameLocation": "955:14:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 171, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:2:1" + }, + "src": "949:23:1" + }, + { + "errorSelector": "101586e0", + "id": 178, + "name": "InvalidReference", + "nameLocation": "983:16:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 174, + "mutability": "mutable", + "name": "value", + "nameLocation": "1008:5:1", + "nodeType": "VariableDeclaration", + "scope": 178, + "src": "1000:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 173, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "max", + "nameLocation": "1023:3:1", + "nodeType": "VariableDeclaration", + "scope": 178, + "src": "1015:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1015:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "999:28:1" + }, + "src": "977:51:1" + }, + { + "errorSelector": "556f1830", + "id": 191, + "name": "OffchainLookup", + "nameLocation": "1039:14:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 180, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1071:6:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1063:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1063:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 183, + "mutability": "mutable", + "name": "urls", + "nameLocation": "1096:4:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1087:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1087:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 182, + "nodeType": "ArrayTypeName", + "src": "1087:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 185, + "mutability": "mutable", + "name": "callData", + "nameLocation": "1116:8:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1110:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 184, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1110:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 187, + "mutability": "mutable", + "name": "callbackFunction", + "nameLocation": "1141:16:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1134:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 186, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1134:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 189, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "1173:9:1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "1167:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 188, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1167:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1053:135:1" + }, + "src": "1033:156:1" + }, + { + "canonicalName": "EVMFetcher.EVMFetchRequest", + "id": 205, + "members": [ + { + "constant": false, + "id": 194, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "1241:8:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1228:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 193, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 192, + "name": "IEVMVerifier", + "nameLocations": [ + "1228:12:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1228:12:1" + }, + "referencedDeclaration": 798, + "src": "1228:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 196, + "mutability": "mutable", + "name": "target", + "nameLocation": "1267:6:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1259:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1259:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 199, + "mutability": "mutable", + "name": "commands", + "nameLocation": "1293:8:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1283:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 197, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1283:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 198, + "nodeType": "ArrayTypeName", + "src": "1283:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 201, + "mutability": "mutable", + "name": "operationIdx", + "nameLocation": "1319:12:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1311:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1311:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "constants", + "nameLocation": "1349:9:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "1341:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 202, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1341:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 203, + "nodeType": "ArrayTypeName", + "src": "1341:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "name": "EVMFetchRequest", + "nameLocation": "1202:15:1", + "nodeType": "StructDefinition", + "scope": 771, + "src": "1195:170:1", + "visibility": "public" + }, + { + "body": { + "id": 248, + "nodeType": "Block", + "src": "1958:336:1", + "statements": [ + { + "assignments": [ + 221 + ], + "declarations": [ + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "commands", + "nameLocation": "1985:8:1", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "1968:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 219, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1968:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 220, + "nodeType": "ArrayTypeName", + "src": "1968:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 227, + "initialValue": { + "arguments": [ + { + "id": 225, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "2010:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1996:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2000:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 223, + "nodeType": "ArrayTypeName", + "src": "2000:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1996:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1968:55:1" + }, + { + "assignments": [ + 232 + ], + "declarations": [ + { + "constant": false, + "id": 232, + "mutability": "mutable", + "name": "constants", + "nameLocation": "2048:9:1", + "nodeType": "VariableDeclaration", + "scope": 248, + "src": "2033:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 230, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2033:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 231, + "nodeType": "ArrayTypeName", + "src": "2033:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 238, + "initialValue": { + "arguments": [ + { + "id": 236, + "name": "MAX_CONSTANTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "2072:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2060:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 233, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2064:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 234, + "nodeType": "ArrayTypeName", + "src": "2064:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2060:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2033:53:1" + }, + { + "AST": { + "nativeSrc": "2105:109:1", + "nodeType": "YulBlock", + "src": "2105:109:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "2126:8:1", + "nodeType": "YulIdentifier", + "src": "2126:8:1" + }, + { + "kind": "number", + "nativeSrc": "2136:1:1", + "nodeType": "YulLiteral", + "src": "2136:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2119:6:1", + "nodeType": "YulIdentifier", + "src": "2119:6:1" + }, + "nativeSrc": "2119:19:1", + "nodeType": "YulFunctionCall", + "src": "2119:19:1" + }, + "nativeSrc": "2119:19:1", + "nodeType": "YulExpressionStatement", + "src": "2119:19:1" + }, + { + "expression": { + "arguments": [ + { + "name": "constants", + "nativeSrc": "2191:9:1", + "nodeType": "YulIdentifier", + "src": "2191:9:1" + }, + { + "kind": "number", + "nativeSrc": "2202:1:1", + "nodeType": "YulLiteral", + "src": "2202:1:1", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2184:6:1", + "nodeType": "YulIdentifier", + "src": "2184:6:1" + }, + "nativeSrc": "2184:20:1", + "nodeType": "YulFunctionCall", + "src": "2184:20:1" + }, + "nativeSrc": "2184:20:1", + "nodeType": "YulExpressionStatement", + "src": "2184:20:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 221, + "isOffset": false, + "isSlot": false, + "src": "2126:8:1", + "valueSize": 1 + }, + { + "declaration": 232, + "isOffset": false, + "isSlot": false, + "src": "2191:9:1", + "valueSize": 1 + } + ], + "id": 239, + "nodeType": "InlineAssembly", + "src": "2096:118:1" + }, + { + "expression": { + "arguments": [ + { + "id": 241, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 209, + "src": "2246:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "id": 242, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "2256:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 243, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "2264:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "hexValue": "30", + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2274:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 245, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "2277:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + ], + "id": 240, + "name": "EVMFetchRequest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "2230:15:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_EVMFetchRequest_$205_storage_ptr_$", + "typeString": "type(struct EVMFetcher.EVMFetchRequest storage pointer)" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2230:57:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 216, + "id": 247, + "nodeType": "Return", + "src": "2223:64:1" + } + ] + }, + "documentation": { + "id": 206, + "nodeType": "StructuredDocumentation", + "src": "1371:449:1", + "text": " @dev Creates a request to fetch the value of multiple storage slots from a contract via CCIP-Read, possibly from\n another chain.\n Supports dynamic length values and slot numbers derived from other retrieved values.\n @param verifier An instance of a verifier contract that can provide and verify the storage slot information.\n @param target The address of the contract to fetch storage proofs for." + }, + "id": 249, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "newFetchRequest", + "nameLocation": "1834:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 209, + "mutability": "mutable", + "name": "verifier", + "nameLocation": "1872:8:1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1859:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 208, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 207, + "name": "IEVMVerifier", + "nameLocations": [ + "1859:12:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1859:12:1" + }, + "referencedDeclaration": 798, + "src": "1859:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 211, + "mutability": "mutable", + "name": "target", + "nameLocation": "1898:6:1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1890:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1890:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1849:61:1" + }, + "returnParameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 215, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 249, + "src": "1934:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 214, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 213, + "name": "EVMFetchRequest", + "nameLocations": [ + "1934:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "1934:15:1" + }, + "referencedDeclaration": 205, + "src": "1934:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "1933:24:1" + }, + "scope": 771, + "src": "1825:469:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 325, + "nodeType": "Block", + "src": "2882:658:1", + "statements": [ + { + "assignments": [ + 265 + ], + "declarations": [ + { + "constant": false, + "id": 265, + "mutability": "mutable", + "name": "commands", + "nameLocation": "2909:8:1", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2892:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 263, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2892:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 264, + "nodeType": "ArrayTypeName", + "src": "2892:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 268, + "initialValue": { + "expression": { + "id": 266, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "2920:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2928:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "2920:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2892:44:1" + }, + { + "assignments": [ + 270 + ], + "declarations": [ + { + "constant": false, + "id": 270, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "2954:10:1", + "nodeType": "VariableDeclaration", + "scope": 325, + "src": "2946:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2946:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 273, + "initialValue": { + "expression": { + "id": 271, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 265, + "src": "2967:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2976:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2967:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2946:36:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 274, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "2996:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3009:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2996:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 277, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3014:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3022:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "3014:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3037:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3014:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2996:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 288, + "nodeType": "IfStatement", + "src": "2992:146:1", + "trueBody": { + "id": 287, + "nodeType": "Block", + "src": "3041:97:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 283, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3111:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 284, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "3120:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 282, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3097:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3097:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 286, + "nodeType": "ExpressionStatement", + "src": "3097:30:1" + } + ] + } + }, + { + "AST": { + "nativeSrc": "3156:94:1", + "nodeType": "YulBlock", + "src": "3156:94:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "3177:8:1", + "nodeType": "YulIdentifier", + "src": "3177:8:1" + }, + { + "arguments": [ + { + "name": "commandIdx", + "nativeSrc": "3191:10:1", + "nodeType": "YulIdentifier", + "src": "3191:10:1" + }, + { + "kind": "number", + "nativeSrc": "3203:1:1", + "nodeType": "YulLiteral", + "src": "3203:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3187:3:1", + "nodeType": "YulIdentifier", + "src": "3187:3:1" + }, + "nativeSrc": "3187:18:1", + "nodeType": "YulFunctionCall", + "src": "3187:18:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3170:6:1", + "nodeType": "YulIdentifier", + "src": "3170:6:1" + }, + "nativeSrc": "3170:36:1", + "nodeType": "YulFunctionCall", + "src": "3170:36:1" + }, + "nativeSrc": "3170:36:1", + "nodeType": "YulExpressionStatement", + "src": "3170:36:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 270, + "isOffset": false, + "isSlot": false, + "src": "3191:10:1", + "valueSize": 1 + }, + { + "declaration": 265, + "isOffset": false, + "isSlot": false, + "src": "3177:8:1", + "valueSize": 1 + } + ], + "id": 289, + "nodeType": "InlineAssembly", + "src": "3147:103:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 290, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3263:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3271:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "3263:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3280:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3263:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 293, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "3289:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3263:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 300, + "nodeType": "IfStatement", + "src": "3259:105:1", + "trueBody": { + "id": 299, + "nodeType": "Block", + "src": "3303:61:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 296, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "3340:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 295, + "name": "TooManyCommands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 170, + "src": "3324:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3324:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 298, + "nodeType": "RevertStatement", + "src": "3317:36:1" + } + ] + } + }, + { + "expression": { + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 301, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3381:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "3373:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3396:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3373:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 306, + "nodeType": "ExpressionStatement", + "src": "3373:24:1" + }, + { + "expression": { + "arguments": [ + { + "id": 308, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3421:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "hexValue": "30", + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3430:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 307, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3407:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3407:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 311, + "nodeType": "ExpressionStatement", + "src": "3407:25:1" + }, + { + "expression": { + "arguments": [ + { + "id": 313, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3456:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 315, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3478:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 318, + "name": "baseSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 255, + "src": "3498:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 316, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3487:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3491:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3487:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3487:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 314, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "3465:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3465:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 312, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "3442:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3442:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 322, + "nodeType": "ExpressionStatement", + "src": "3442:67:1" + }, + { + "expression": { + "id": 323, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "3526:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 260, + "id": 324, + "nodeType": "Return", + "src": "3519:14:1" + } + ] + }, + "documentation": { + "id": 250, + "nodeType": "StructuredDocumentation", + "src": "2300:439:1", + "text": " @dev Starts describing a new fetch request.\n Paths specify a series of hashing operations to derive the final slot ID.\n See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n lays out storage variables.\n @param request The request object being operated on.\n @param baseSlot The base slot ID that forms the root of the path." + }, + "id": 326, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStatic", + "nameLocation": "2753:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 253, + "mutability": "mutable", + "name": "request", + "nameLocation": "2795:7:1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2772:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 252, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 251, + "name": "EVMFetchRequest", + "nameLocations": [ + "2772:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "2772:15:1" + }, + "referencedDeclaration": 205, + "src": "2772:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 255, + "mutability": "mutable", + "name": "baseSlot", + "nameLocation": "2820:8:1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2812:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2812:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2762:72:1" + }, + "returnParameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 326, + "src": "2858:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 258, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 257, + "name": "EVMFetchRequest", + "nameLocations": [ + "2858:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "2858:15:1" + }, + "referencedDeclaration": 205, + "src": "2858:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "2857:24:1" + }, + "scope": 771, + "src": "2744:796:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 402, + "nodeType": "Block", + "src": "4129:669:1", + "statements": [ + { + "assignments": [ + 342 + ], + "declarations": [ + { + "constant": false, + "id": 342, + "mutability": "mutable", + "name": "commands", + "nameLocation": "4156:8:1", + "nodeType": "VariableDeclaration", + "scope": 402, + "src": "4139:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4139:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 341, + "nodeType": "ArrayTypeName", + "src": "4139:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "id": 345, + "initialValue": { + "expression": { + "id": 343, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4175:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "4167:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4139:44:1" + }, + { + "assignments": [ + 347 + ], + "declarations": [ + { + "constant": false, + "id": 347, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "4201:10:1", + "nodeType": "VariableDeclaration", + "scope": 402, + "src": "4193:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4193:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 350, + "initialValue": { + "expression": { + "id": 348, + "name": "commands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "4214:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4223:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4214:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4193:36:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 351, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "4243:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4256:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4243:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 354, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4261:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4269:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4261:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4284:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4261:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4243:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 365, + "nodeType": "IfStatement", + "src": "4239:146:1", + "trueBody": { + "id": 364, + "nodeType": "Block", + "src": "4288:97:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 360, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4358:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 361, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "4367:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 359, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4344:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4344:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 363, + "nodeType": "ExpressionStatement", + "src": "4344:30:1" + } + ] + } + }, + { + "AST": { + "nativeSrc": "4403:94:1", + "nodeType": "YulBlock", + "src": "4403:94:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "commands", + "nativeSrc": "4424:8:1", + "nodeType": "YulIdentifier", + "src": "4424:8:1" + }, + { + "arguments": [ + { + "name": "commandIdx", + "nativeSrc": "4438:10:1", + "nodeType": "YulIdentifier", + "src": "4438:10:1" + }, + { + "kind": "number", + "nativeSrc": "4450:1:1", + "nodeType": "YulLiteral", + "src": "4450:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4434:3:1", + "nodeType": "YulIdentifier", + "src": "4434:3:1" + }, + "nativeSrc": "4434:18:1", + "nodeType": "YulFunctionCall", + "src": "4434:18:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4417:6:1", + "nodeType": "YulIdentifier", + "src": "4417:6:1" + }, + "nativeSrc": "4417:36:1", + "nodeType": "YulFunctionCall", + "src": "4417:36:1" + }, + "nativeSrc": "4417:36:1", + "nodeType": "YulExpressionStatement", + "src": "4417:36:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 347, + "isOffset": false, + "isSlot": false, + "src": "4438:10:1", + "valueSize": 1 + }, + { + "declaration": 342, + "isOffset": false, + "isSlot": false, + "src": "4424:8:1", + "valueSize": 1 + } + ], + "id": 366, + "nodeType": "InlineAssembly", + "src": "4394:103:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 367, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4510:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4518:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "4510:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4527:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4510:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 370, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "4536:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4510:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 377, + "nodeType": "IfStatement", + "src": "4506:105:1", + "trueBody": { + "id": 376, + "nodeType": "Block", + "src": "4550:61:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 373, + "name": "MAX_COMMANDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "4587:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 372, + "name": "TooManyCommands", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 170, + "src": "4571:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", + "typeString": "function (uint256) pure" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4571:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 375, + "nodeType": "RevertStatement", + "src": "4564:36:1" + } + ] + } + }, + { + "expression": { + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 378, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4620:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4628:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4620:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4643:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4620:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 383, + "nodeType": "ExpressionStatement", + "src": "4620:24:1" + }, + { + "expression": { + "arguments": [ + { + "id": 385, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4668:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 386, + "name": "FLAG_DYNAMIC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 147, + "src": "4677:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 384, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4654:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4654:36:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 388, + "nodeType": "ExpressionStatement", + "src": "4654:36:1" + }, + { + "expression": { + "arguments": [ + { + "id": 390, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4714:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 392, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4736:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 395, + "name": "baseSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "4756:8:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 393, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4745:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4749:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4745:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4745:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 391, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "4723:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4723:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 389, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "4700:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4700:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 399, + "nodeType": "ExpressionStatement", + "src": "4700:67:1" + }, + { + "expression": { + "id": 400, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 330, + "src": "4784:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 337, + "id": 401, + "nodeType": "Return", + "src": "4777:14:1" + } + ] + }, + "documentation": { + "id": 327, + "nodeType": "StructuredDocumentation", + "src": "3546:439:1", + "text": " @dev Starts describing a new fetch request.\n Paths specify a series of hashing operations to derive the final slot ID.\n See https://docs.soliditylang.org/en/v0.8.17/internals/layout_in_storage.html for details on how Solidity\n lays out storage variables.\n @param request The request object being operated on.\n @param baseSlot The base slot ID that forms the root of the path." + }, + "id": 403, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDynamic", + "nameLocation": "3999:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 330, + "mutability": "mutable", + "name": "request", + "nameLocation": "4042:7:1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4019:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 329, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 328, + "name": "EVMFetchRequest", + "nameLocations": [ + "4019:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "4019:15:1" + }, + "referencedDeclaration": 205, + "src": "4019:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "baseSlot", + "nameLocation": "4067:8:1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4059:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4059:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4009:72:1" + }, + "returnParameters": { + "id": 337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 336, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "4105:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 335, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 334, + "name": "EVMFetchRequest", + "nameLocations": [ + "4105:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "4105:15:1" + }, + "referencedDeclaration": 205, + "src": "4105:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "4104:24:1" + }, + "scope": 771, + "src": "3990:808:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 437, + "nodeType": "Block", + "src": "5105:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 415, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5119:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5127:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "5119:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5143:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5119:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 423, + "nodeType": "IfStatement", + "src": "5115:80:1", + "trueBody": { + "id": 422, + "nodeType": "Block", + "src": "5147:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 419, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "5168:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5168:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 421, + "nodeType": "RevertStatement", + "src": "5161:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 425, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5218:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 427, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5240:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 430, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 409, + "src": "5260:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 428, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5249:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5253:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5249:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5249:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 426, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "5227:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5227:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 424, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "5204:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5204:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 434, + "nodeType": "ExpressionStatement", + "src": "5204:61:1" + }, + { + "expression": { + "id": 435, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 407, + "src": "5282:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 414, + "id": 436, + "nodeType": "Return", + "src": "5275:14:1" + } + ] + }, + "documentation": { + "id": 404, + "nodeType": "StructuredDocumentation", + "src": "4804:166:1", + "text": " @dev Adds a `uint256` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 438, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "4984:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 407, + "mutability": "mutable", + "name": "request", + "nameLocation": "5024:7:1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5001:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 405, + "name": "EVMFetchRequest", + "nameLocations": [ + "5001:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5001:15:1" + }, + "referencedDeclaration": 205, + "src": "5001:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 409, + "mutability": "mutable", + "name": "el", + "nameLocation": "5049:2:1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5041:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5041:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4991:66:1" + }, + "returnParameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 413, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "5081:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 412, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 411, + "name": "EVMFetchRequest", + "nameLocations": [ + "5081:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5081:15:1" + }, + "referencedDeclaration": 205, + "src": "5081:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "5080:24:1" + }, + "scope": 771, + "src": "4975:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 472, + "nodeType": "Block", + "src": "5603:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 450, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 451, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5625:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "5617:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5641:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "5617:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 458, + "nodeType": "IfStatement", + "src": "5613:80:1", + "trueBody": { + "id": 457, + "nodeType": "Block", + "src": "5645:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 454, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "5666:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5666:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 456, + "nodeType": "RevertStatement", + "src": "5659:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 460, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5716:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 462, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5738:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 465, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 444, + "src": "5758:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 463, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5747:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5751:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5747:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5747:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 461, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "5725:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5725:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 459, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "5702:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5702:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 469, + "nodeType": "ExpressionStatement", + "src": "5702:61:1" + }, + { + "expression": { + "id": 470, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "5780:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 449, + "id": 471, + "nodeType": "Return", + "src": "5773:14:1" + } + ] + }, + "documentation": { + "id": 439, + "nodeType": "StructuredDocumentation", + "src": "5302:166:1", + "text": " @dev Adds a `bytes32` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 473, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "5482:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 442, + "mutability": "mutable", + "name": "request", + "nameLocation": "5522:7:1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5499:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 441, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 440, + "name": "EVMFetchRequest", + "nameLocations": [ + "5499:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5499:15:1" + }, + "referencedDeclaration": 205, + "src": "5499:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 444, + "mutability": "mutable", + "name": "el", + "nameLocation": "5547:2:1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5539:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 443, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5539:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5489:66:1" + }, + "returnParameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 448, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 473, + "src": "5579:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 447, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 446, + "name": "EVMFetchRequest", + "nameLocations": [ + "5579:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5579:15:1" + }, + "referencedDeclaration": 205, + "src": "5579:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "5578:24:1" + }, + "scope": 771, + "src": "5473:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 507, + "nodeType": "Block", + "src": "6102:191:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 485, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6116:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6124:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6116:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6140:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6116:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 493, + "nodeType": "IfStatement", + "src": "6112:80:1", + "trueBody": { + "id": 492, + "nodeType": "Block", + "src": "6144:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 489, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "6165:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6165:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 491, + "nodeType": "RevertStatement", + "src": "6158:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 495, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6215:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 497, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6237:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 500, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 479, + "src": "6257:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 498, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6246:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6250:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "6246:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6246:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 496, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "6224:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6224:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 494, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "6201:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6201:61:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 504, + "nodeType": "ExpressionStatement", + "src": "6201:61:1" + }, + { + "expression": { + "id": 505, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6279:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 484, + "id": 506, + "nodeType": "Return", + "src": "6272:14:1" + } + ] + }, + "documentation": { + "id": 474, + "nodeType": "StructuredDocumentation", + "src": "5800:167:1", + "text": " @dev Adds an `address` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 508, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "5981:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "request", + "nameLocation": "6021:7:1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "5998:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 476, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 475, + "name": "EVMFetchRequest", + "nameLocations": [ + "5998:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "5998:15:1" + }, + "referencedDeclaration": 205, + "src": "5998:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 479, + "mutability": "mutable", + "name": "el", + "nameLocation": "6046:2:1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "6038:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6038:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5988:66:1" + }, + "returnParameters": { + "id": 484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 508, + "src": "6078:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 482, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 481, + "name": "EVMFetchRequest", + "nameLocations": [ + "6078:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6078:15:1" + }, + "referencedDeclaration": 205, + "src": "6078:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "6077:24:1" + }, + "scope": 771, + "src": "5972:321:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 539, + "nodeType": "Block", + "src": "6603:179:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 520, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6625:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6617:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6641:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6617:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 528, + "nodeType": "IfStatement", + "src": "6613:80:1", + "trueBody": { + "id": 527, + "nodeType": "Block", + "src": "6645:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 524, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "6666:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6666:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 526, + "nodeType": "RevertStatement", + "src": "6659:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 530, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6716:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 532, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6738:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 533, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "6747:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 531, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "6725:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6725:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 529, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "6702:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6702:49:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 536, + "nodeType": "ExpressionStatement", + "src": "6702:49:1" + }, + { + "expression": { + "id": 537, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "6768:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 519, + "id": 538, + "nodeType": "Return", + "src": "6761:14:1" + } + ] + }, + "documentation": { + "id": 509, + "nodeType": "StructuredDocumentation", + "src": "6299:164:1", + "text": " @dev Adds a `bytes` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 540, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "6477:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 512, + "mutability": "mutable", + "name": "request", + "nameLocation": "6517:7:1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6494:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 510, + "name": "EVMFetchRequest", + "nameLocations": [ + "6494:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6494:15:1" + }, + "referencedDeclaration": 205, + "src": "6494:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 514, + "mutability": "mutable", + "name": "el", + "nameLocation": "6547:2:1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6534:15:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 513, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6534:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6484:71:1" + }, + "returnParameters": { + "id": 519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 518, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 540, + "src": "6579:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 517, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 516, + "name": "EVMFetchRequest", + "nameLocations": [ + "6579:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6579:15:1" + }, + "referencedDeclaration": 205, + "src": "6579:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "6578:24:1" + }, + "scope": 771, + "src": "6468:314:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 574, + "nodeType": "Block", + "src": "7094:186:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 552, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7108:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7116:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "7108:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7132:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "7108:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 560, + "nodeType": "IfStatement", + "src": "7104:80:1", + "trueBody": { + "id": 559, + "nodeType": "Block", + "src": "7136:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 556, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "7157:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7157:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 558, + "nodeType": "RevertStatement", + "src": "7150:23:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 562, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7207:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 564, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7229:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "arguments": [ + { + "id": 567, + "name": "el", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 546, + "src": "7244:2:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7238:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 565, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7238:5:1", + "typeDescriptions": {} + } + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7238:9:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 563, + "name": "_addConstant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "7216:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint8_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes memory) pure returns (uint8)" + } + }, + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7216:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 561, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "7193:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7193:56:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 571, + "nodeType": "ExpressionStatement", + "src": "7193:56:1" + }, + { + "expression": { + "id": 572, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "7266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 551, + "id": 573, + "nodeType": "Return", + "src": "7259:14:1" + } + ] + }, + "documentation": { + "id": 541, + "nodeType": "StructuredDocumentation", + "src": "6788:165:1", + "text": " @dev Adds a `string` element to the current path.\n @param request The request object being operated on.\n @param el The element to add." + }, + "id": 575, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "element", + "nameLocation": "6967:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 544, + "mutability": "mutable", + "name": "request", + "nameLocation": "7007:7:1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "6984:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 543, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 542, + "name": "EVMFetchRequest", + "nameLocations": [ + "6984:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6984:15:1" + }, + "referencedDeclaration": 205, + "src": "6984:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 546, + "mutability": "mutable", + "name": "el", + "nameLocation": "7038:2:1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "7024:16:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7024:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6974:72:1" + }, + "returnParameters": { + "id": 551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 550, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 575, + "src": "7070:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 549, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 548, + "name": "EVMFetchRequest", + "nameLocations": [ + "7070:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7070:15:1" + }, + "referencedDeclaration": 205, + "src": "7070:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "7069:24:1" + }, + "scope": 771, + "src": "6958:322:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 623, + "nodeType": "Block", + "src": "7631:304:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 587, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7645:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7653:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "7645:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7669:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "7645:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 595, + "nodeType": "IfStatement", + "src": "7641:80:1", + "trueBody": { + "id": 594, + "nodeType": "Block", + "src": "7673:48:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 591, + "name": "CommandTooLong", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "7694:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7694:16:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 593, + "nodeType": "RevertStatement", + "src": "7687:23:1" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 596, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7734:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "expression": { + "id": 597, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7740:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7748:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "7740:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7757:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7740:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7734:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 601, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7767:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3331", + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7773:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "src": "7767:8:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7734:41:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 613, + "nodeType": "IfStatement", + "src": "7730:125:1", + "trueBody": { + "id": 612, + "nodeType": "Block", + "src": "7777:78:1", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 606, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7815:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "expression": { + "id": 607, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7820:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 608, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7828:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "7820:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7837:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7820:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 605, + "name": "InvalidReference", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "7798:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7798:46:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 611, + "nodeType": "RevertStatement", + "src": "7791:53:1" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 615, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7878:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 616, + "name": "OP_BACKREF", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "7887:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 617, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 581, + "src": "7900:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "7887:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 614, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "7864:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7864:40:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 620, + "nodeType": "ExpressionStatement", + "src": "7864:40:1" + }, + { + "expression": { + "id": 621, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 579, + "src": "7921:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "functionReturnParameters": 586, + "id": 622, + "nodeType": "Return", + "src": "7914:14:1" + } + ] + }, + "documentation": { + "id": 576, + "nodeType": "StructuredDocumentation", + "src": "7286:215:1", + "text": " @dev Adds a reference to a previous fetch to the current path.\n @param request The request object being operated on.\n @param idx The index of the previous fetch request, starting at 0." + }, + "id": 624, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ref", + "nameLocation": "7515:3:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 579, + "mutability": "mutable", + "name": "request", + "nameLocation": "7551:7:1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7528:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 578, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 577, + "name": "EVMFetchRequest", + "nameLocations": [ + "7528:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7528:15:1" + }, + "referencedDeclaration": 205, + "src": "7528:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 581, + "mutability": "mutable", + "name": "idx", + "nameLocation": "7574:3:1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7568:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 580, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7568:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "7518:65:1" + }, + "returnParameters": { + "id": 586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 585, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 624, + "src": "7607:22:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 584, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 583, + "name": "EVMFetchRequest", + "nameLocations": [ + "7607:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7607:15:1" + }, + "referencedDeclaration": 205, + "src": "7607:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + } + ], + "src": "7606:24:1" + }, + "scope": 771, + "src": "7506:429:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 691, + "nodeType": "Block", + "src": "8787:734:1", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 635, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8801:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8809:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "8801:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8818:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8801:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8827:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8801:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 640, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8832:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8840:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "8832:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3332", + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8855:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "8832:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8801:56:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 651, + "nodeType": "IfStatement", + "src": "8797:155:1", + "trueBody": { + "id": 650, + "nodeType": "Block", + "src": "8859:93:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 646, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "8925:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + { + "id": 647, + "name": "OP_END", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "8934:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 645, + "name": "_addOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "8911:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint8_$returns$__$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint8) pure" + } + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8911:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 649, + "nodeType": "ExpressionStatement", + "src": "8911:30:1" + } + ] + } + }, + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "id": 655, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "9005:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EVMFetcher_$771", + "typeString": "library EVMFetcher" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EVMFetcher_$771", + "typeString": "library EVMFetcher" + } + ], + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8997:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8997:7:1", + "typeDescriptions": {} + } + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8997:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 657, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9024:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9032:8:1", + "memberName": "verifier", + "nodeType": "MemberAccess", + "referencedDeclaration": 194, + "src": "9024:16:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9041:11:1", + "memberName": "gatewayURLs", + "nodeType": "MemberAccess", + "referencedDeclaration": 779, + "src": "9024:28:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function () view external returns (string memory[] memory)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9024:30:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 663, + "name": "IEVMGateway", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "9100:11:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEVMGateway_$144_$", + "typeString": "type(contract IEVMGateway)" + } + }, + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9112:15:1", + "memberName": "getStorageSlots", + "nodeType": "MemberAccess", + "referencedDeclaration": 143, + "src": "9100:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_pure$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function IEVMGateway.getStorageSlots(address,bytes32[] memory,bytes memory[] memory) pure returns (bytes memory)" + } + }, + { + "components": [ + { + "expression": { + "id": 665, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9146:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9154:6:1", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 196, + "src": "9146:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 667, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9162:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9170:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "9162:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "expression": { + "id": 669, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9180:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9188:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9180:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + } + ], + "id": 671, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9145:53:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "tuple(address,bytes32[] memory,bytes memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_pure$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function IEVMGateway.getStorageSlots(address,bytes32[] memory,bytes memory[] memory) pure returns (bytes memory)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "tuple(address,bytes32[] memory,bytes memory[] memory)" + } + ], + "expression": { + "id": 661, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9068:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9072:10:1", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "9068:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9068:144:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "expression": { + "id": 673, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "9226:14:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EVMFetchTarget_$122_$", + "typeString": "type(contract EVMFetchTarget)" + } + }, + "id": 674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9241:23:1", + "memberName": "getStorageSlotsCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 115, + "src": "9226:38:1", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function EVMFetchTarget.getStorageSlotsCallback(bytes calldata,bytes calldata) returns (bytes memory)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9265:8:1", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "9226:47:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "arguments": [ + { + "expression": { + "id": 678, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9315:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9323:8:1", + "memberName": "verifier", + "nodeType": "MemberAccess", + "referencedDeclaration": 194, + "src": "9315:16:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "expression": { + "id": 680, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9349:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9357:6:1", + "memberName": "target", + "nodeType": "MemberAccess", + "referencedDeclaration": 196, + "src": "9349:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 682, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9381:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 683, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9389:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "9381:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + { + "expression": { + "id": 684, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "9415:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9423:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9415:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + { + "id": 686, + "name": "callbackId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "9450:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 687, + "name": "callbackData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "9478:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + }, + { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 676, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9287:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9291:6:1", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "9287:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9287:217:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 652, + "name": "OffchainLookup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 191, + "src": "8969:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,string memory[] memory,bytes memory,bytes4,bytes memory) pure" + } + }, + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8969:545:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 690, + "nodeType": "RevertStatement", + "src": "8962:552:1" + } + ] + }, + "documentation": { + "id": 625, + "nodeType": "StructuredDocumentation", + "src": "7941:704:1", + "text": " @dev Initiates the fetch request.\n Calling this function terminates execution; clients that implement CCIP-Read will make a callback to\n `callback` with the results of the operation.\n @param callbackId A callback function selector on this contract that will be invoked via CCIP-Read with the result of the lookup.\n The function must have a signature matching `(bytes[] memory values, bytes callbackData)` with a return type matching the call in which\n this function was invoked. Its return data will be returned as the return value of the entire CCIP-read operation.\n @param callbackData Extra data to supply to the callback." + }, + "id": 692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fetch", + "nameLocation": "8659:5:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "mutability": "mutable", + "name": "request", + "nameLocation": "8697:7:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8674:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 627, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 626, + "name": "EVMFetchRequest", + "nameLocations": [ + "8674:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "8674:15:1" + }, + "referencedDeclaration": 205, + "src": "8674:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "callbackId", + "nameLocation": "8721:10:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8714:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 629, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8714:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 632, + "mutability": "mutable", + "name": "callbackData", + "nameLocation": "8754:12:1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "8741:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 631, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8741:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8664:108:1" + }, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "8787:0:1" + }, + "scope": 771, + "src": "8650:871:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 725, + "nodeType": "Block", + "src": "9656:239:1", + "statements": [ + { + "assignments": [ + 706 + ], + "declarations": [ + { + "constant": false, + "id": 706, + "mutability": "mutable", + "name": "constants", + "nameLocation": "9681:9:1", + "nodeType": "VariableDeclaration", + "scope": 725, + "src": "9666:24:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 704, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9666:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 705, + "nodeType": "ArrayTypeName", + "src": "9666:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 709, + "initialValue": { + "expression": { + "id": 707, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "9693:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9701:9:1", + "memberName": "constants", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "9693:17:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9666:44:1" + }, + { + "expression": { + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 710, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 700, + "src": "9720:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 713, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "9732:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9742:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9732:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9726:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 711, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9726:5:1", + "typeDescriptions": {} + } + }, + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9726:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "9720:29:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 717, + "nodeType": "ExpressionStatement", + "src": "9720:29:1" + }, + { + "AST": { + "nativeSrc": "9768:89:1", + "nodeType": "YulBlock", + "src": "9768:89:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "constants", + "nativeSrc": "9789:9:1", + "nodeType": "YulIdentifier", + "src": "9789:9:1" + }, + { + "arguments": [ + { + "name": "idx", + "nativeSrc": "9804:3:1", + "nodeType": "YulIdentifier", + "src": "9804:3:1" + }, + { + "kind": "number", + "nativeSrc": "9809:1:1", + "nodeType": "YulLiteral", + "src": "9809:1:1", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9800:3:1", + "nodeType": "YulIdentifier", + "src": "9800:3:1" + }, + "nativeSrc": "9800:11:1", + "nodeType": "YulFunctionCall", + "src": "9800:11:1" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9782:6:1", + "nodeType": "YulIdentifier", + "src": "9782:6:1" + }, + "nativeSrc": "9782:30:1", + "nodeType": "YulFunctionCall", + "src": "9782:30:1" + }, + "nativeSrc": "9782:30:1", + "nodeType": "YulExpressionStatement", + "src": "9782:30:1" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 706, + "isOffset": false, + "isSlot": false, + "src": "9789:9:1", + "valueSize": 1 + }, + { + "declaration": 700, + "isOffset": false, + "isSlot": false, + "src": "9804:3:1", + "valueSize": 1 + } + ], + "id": 718, + "nodeType": "InlineAssembly", + "src": "9759:98:1" + }, + { + "expression": { + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 719, + "name": "constants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 706, + "src": "9866:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 721, + "indexExpression": { + "id": 720, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 700, + "src": "9876:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9866:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 722, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "9883:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "9866:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 724, + "nodeType": "ExpressionStatement", + "src": "9866:22:1" + } + ] + }, + "id": 726, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addConstant", + "nameLocation": "9536:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "mutability": "mutable", + "name": "request", + "nameLocation": "9581:7:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9558:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 694, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 693, + "name": "EVMFetchRequest", + "nameLocations": [ + "9558:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "9558:15:1" + }, + "referencedDeclaration": 205, + "src": "9558:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "value", + "nameLocation": "9611:5:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9598:18:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 696, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9598:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9548:74:1" + }, + "returnParameters": { + "id": 701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 700, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9651:3:1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "9645:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 699, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9645:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "9644:11:1" + }, + "scope": 771, + "src": "9527:368:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 769, + "nodeType": "Block", + "src": "10001:214:1", + "statements": [ + { + "assignments": [ + 735 + ], + "declarations": [ + { + "constant": false, + "id": 735, + "mutability": "mutable", + "name": "commandIdx", + "nameLocation": "10019:10:1", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "10011:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10011:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 741, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 736, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10032:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10040:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10032:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10049:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10032:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10058:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10032:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10011:48:1" + }, + { + "expression": { + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 742, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10069:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10077:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10069:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 746, + "indexExpression": { + "id": 744, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "10086:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10069:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "expression": { + "id": 747, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10112:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10120:8:1", + "memberName": "commands", + "nodeType": "MemberAccess", + "referencedDeclaration": 199, + "src": "10112:16:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 750, + "indexExpression": { + "id": 749, + "name": "commandIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "10129:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10112:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 755, + "name": "op", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 731, + "src": "10171:2:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10164:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 753, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "10164:6:1", + "typeDescriptions": {} + } + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10164:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10156:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 751, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10156:7:1", + "typeDescriptions": {} + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10156:19:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10180:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10184:22:1", + "subExpression": { + "expression": { + "id": 759, + "name": "request", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 729, + "src": "10184:7:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10192:12:1", + "memberName": "operationIdx", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "10184:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10180:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 763, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10179:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10156:51:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 765, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10155:53:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10112:96:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10069:139:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 768, + "nodeType": "ExpressionStatement", + "src": "10069:139:1" + } + ] + }, + "id": 770, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addOperation", + "nameLocation": "9910:13:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 729, + "mutability": "mutable", + "name": "request", + "nameLocation": "9956:7:1", + "nodeType": "VariableDeclaration", + "scope": 770, + "src": "9933:30:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + }, + "typeName": { + "id": 728, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 727, + "name": "EVMFetchRequest", + "nameLocations": [ + "9933:15:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "9933:15:1" + }, + "referencedDeclaration": 205, + "src": "9933:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 731, + "mutability": "mutable", + "name": "op", + "nameLocation": "9979:2:1", + "nodeType": "VariableDeclaration", + "scope": 770, + "src": "9973:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 730, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9973:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "9923:64:1" + }, + "returnParameters": { + "id": 733, + "nodeType": "ParameterList", + "parameters": [], + "src": "10001:0:1" + }, + "scope": 771, + "src": "9901:314:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 772, + "src": "739:9478:1", + "usedErrors": [ + 170, + 172, + 178, + 191 + ], + "usedEvents": [] + } + ], + "src": "31:10187:1" + }, + "id": 1 + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "ast": { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "exportedSymbols": { + "IEVMVerifier": [ + 798 + ] + }, + "id": 799, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 773, + "literals": [ + "solidity", + "^", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "31:24:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IEVMVerifier", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 798, + "linearizedBaseContracts": [ + 798 + ], + "name": "IEVMVerifier", + "nameLocation": "67:12:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "b50f2fbc", + "id": 779, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "gatewayURLs", + "nameLocation": "95:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 774, + "nodeType": "ParameterList", + "parameters": [], + "src": "106:2:2" + }, + "returnParameters": { + "id": 778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 777, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 779, + "src": "132:15:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 775, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "132:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 776, + "nodeType": "ArrayTypeName", + "src": "132:8:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "131:17:2" + }, + "scope": 798, + "src": "86:63:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c51ca02a", + "id": 797, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStorageValues", + "nameLocation": "164:16:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 781, + "mutability": "mutable", + "name": "target", + "nameLocation": "198:6:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "190:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 784, + "mutability": "mutable", + "name": "commands", + "nameLocation": "231:8:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "214:25:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "214:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 783, + "nodeType": "ArrayTypeName", + "src": "214:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 787, + "mutability": "mutable", + "name": "constants", + "nameLocation": "264:9:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "249:24:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 785, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "249:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 786, + "nodeType": "ArrayTypeName", + "src": "249:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 789, + "mutability": "mutable", + "name": "proof", + "nameLocation": "296:5:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "283:18:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 788, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "283:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 791, + "mutability": "mutable", + "name": "acceptedL2BlockRangeLength", + "nameLocation": "319:26:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "311:34:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "311:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "180:171:2" + }, + "returnParameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "mutability": "mutable", + "name": "values", + "nameLocation": "390:6:2", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "375:21:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 793, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "375:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 794, + "nodeType": "ArrayTypeName", + "src": "375:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "374:23:2" + }, + "scope": 798, + "src": "155:243:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 799, + "src": "57:343:2", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:370:2" + }, + "id": 2 + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "exportedSymbols": { + "ENS": [ + 1030 + ], + "IBaseRegistrar": [ + 893 + ], + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ] + }, + "id": 894, + "nodeType": "SourceUnit", + "nodes": [ + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "../registry/ENS.sol", + "id": 800, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 1031, + "src": "0:29:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "file": "./IBaseRegistrar.sol", + "id": 801, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 894, + "src": "30:30:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "id": 802, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 894, + "sourceUnit": 2658, + "src": "61:58:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 803, + "name": "IERC721", + "nameLocations": [ + "149:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2657, + "src": "149:7:3" + }, + "id": 804, + "nodeType": "InheritanceSpecifier", + "src": "149:7:3" + } + ], + "canonicalName": "IBaseRegistrar", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 893, + "linearizedBaseContracts": [ + 893, + 2657, + 3023 + ], + "name": "IBaseRegistrar", + "nameLocation": "131:14:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d7474", + "id": 808, + "name": "ControllerAdded", + "nameLocation": "169:15:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 806, + "indexed": true, + "mutability": "mutable", + "name": "controller", + "nameLocation": "201:10:3", + "nodeType": "VariableDeclaration", + "scope": 808, + "src": "185:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "185:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "184:28:3" + }, + "src": "163:50:3" + }, + { + "anonymous": false, + "eventSelector": "33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e81113", + "id": 812, + "name": "ControllerRemoved", + "nameLocation": "224:17:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 810, + "indexed": true, + "mutability": "mutable", + "name": "controller", + "nameLocation": "258:10:3", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "242:26:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "241:28:3" + }, + "src": "218:52:3" + }, + { + "anonymous": false, + "eventSelector": "ea3d7e1195a15d2ddcd859b01abd4c6b960fa9f9264e499a70a90c7f0c64b717", + "id": 820, + "name": "NameMigrated", + "nameLocation": "281:12:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 814, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "319:2:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "303:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 816, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "347:5:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "331:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "331:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 818, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "370:7:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "362:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "362:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "293:90:3" + }, + "src": "275:109:3" + }, + { + "anonymous": false, + "eventSelector": "b3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d9", + "id": 828, + "name": "NameRegistered", + "nameLocation": "395:14:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "435:2:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "419:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 824, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "463:5:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "447:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 823, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "447:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 826, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "486:7:3", + "nodeType": "VariableDeclaration", + "scope": 828, + "src": "478:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 825, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "478:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "409:90:3" + }, + "src": "389:111:3" + }, + { + "anonymous": false, + "eventSelector": "9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd6", + "id": 834, + "name": "NameRenewed", + "nameLocation": "511:11:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 830, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "539:2:3", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "523:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "523:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 832, + "indexed": false, + "mutability": "mutable", + "name": "expires", + "nameLocation": "551:7:3", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "543:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 831, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "543:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "522:37:3" + }, + "src": "505:55:3" + }, + { + "functionSelector": "a7fc7a07", + "id": 839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addController", + "nameLocation": "643:13:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "mutability": "mutable", + "name": "controller", + "nameLocation": "665:10:3", + "nodeType": "VariableDeclaration", + "scope": 839, + "src": "657:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "657:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "656:20:3" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [], + "src": "685:0:3" + }, + "scope": 893, + "src": "634:52:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f6a74ed7", + "id": 844, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeController", + "nameLocation": "753:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "mutability": "mutable", + "name": "controller", + "nameLocation": "778:10:3", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "770:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "770:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "769:20:3" + }, + "returnParameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [], + "src": "798:0:3" + }, + "scope": 893, + "src": "744:55:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4e543b26", + "id": 849, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "874:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 846, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "894:8:3", + "nodeType": "VariableDeclaration", + "scope": 849, + "src": "886:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "885:18:3" + }, + "returnParameters": { + "id": 848, + "nodeType": "ParameterList", + "parameters": [], + "src": "912:0:3" + }, + "scope": 893, + "src": "865:48:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d6e4fa86", + "id": 856, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nameExpires", + "nameLocation": "997:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 851, + "mutability": "mutable", + "name": "id", + "nameLocation": "1017:2:3", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1009:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1009:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1008:12:3" + }, + "returnParameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 854, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1044:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1044:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1043:9:3" + }, + "scope": 893, + "src": "988:65:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "96e494e8", + "id": 863, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "available", + "nameLocation": "1141:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "id", + "nameLocation": "1159:2:3", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "1151:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1151:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1150:12:3" + }, + "returnParameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "1186:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1186:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1185:6:3" + }, + "scope": 893, + "src": "1132:60:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 864, + "nodeType": "StructuredDocumentation", + "src": "1198:40:3", + "text": " @dev Register a name." + }, + "functionSelector": "fca247ac", + "id": 875, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "register", + "nameLocation": "1252:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 866, + "mutability": "mutable", + "name": "id", + "nameLocation": "1278:2:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1270:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1270:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 868, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1298:5:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1290:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1290:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "mutability": "mutable", + "name": "duration", + "nameLocation": "1321:8:3", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1313:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1313:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1260:75:3" + }, + "returnParameters": { + "id": 874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 873, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 875, + "src": "1354:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 872, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1354:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1353:9:3" + }, + "scope": 893, + "src": "1243:120:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c475abff", + "id": 884, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nameLocation": "1378:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 877, + "mutability": "mutable", + "name": "id", + "nameLocation": "1392:2:3", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1384:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 876, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1384:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 879, + "mutability": "mutable", + "name": "duration", + "nameLocation": "1404:8:3", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1396:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1396:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1383:30:3" + }, + "returnParameters": { + "id": 883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 884, + "src": "1432:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1432:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1431:9:3" + }, + "scope": 893, + "src": "1369:72:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 885, + "nodeType": "StructuredDocumentation", + "src": "1447:91:3", + "text": " @dev Reclaim ownership of a name in ENS, if you own it in the registrar." + }, + "functionSelector": "28ed4f6c", + "id": 892, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reclaim", + "nameLocation": "1552:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 887, + "mutability": "mutable", + "name": "id", + "nameLocation": "1568:2:3", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "1560:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1560:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 889, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1580:5:3", + "nodeType": "VariableDeclaration", + "scope": 892, + "src": "1572:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1572:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1559:27:3" + }, + "returnParameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [], + "src": "1595:0:3" + }, + "scope": 893, + "src": "1543:53:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 894, + "src": "121:1477:3", + "usedErrors": [], + "usedEvents": [ + 808, + 812, + 820, + 828, + 834, + 2556, + 2565, + 2574 + ] + } + ], + "src": "0:1599:3" + }, + "id": 3 + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "exportedSymbols": { + "ENS": [ + 1030 + ] + }, + "id": 1031, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 895, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "31:24:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ENS", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1030, + "linearizedBaseContracts": [ + 1030 + ], + "name": "ENS", + "nameLocation": "67:3:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "ce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", + "id": 903, + "name": "NewOwner", + "nameLocation": "156:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 897, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "181:4:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "165:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 899, + "indexed": true, + "mutability": "mutable", + "name": "label", + "nameLocation": "203:5:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "187:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "187:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 901, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "218:5:4", + "nodeType": "VariableDeclaration", + "scope": 903, + "src": "210:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "164:60:4" + }, + "src": "150:75:4" + }, + { + "anonymous": false, + "eventSelector": "d4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266", + "id": 909, + "name": "Transfer", + "nameLocation": "314:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "339:4:4", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "323:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 904, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 907, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "353:5:4", + "nodeType": "VariableDeclaration", + "scope": 909, + "src": "345:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "345:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "322:37:4" + }, + "src": "308:52:4" + }, + { + "anonymous": false, + "eventSelector": "335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", + "id": 915, + "name": "NewResolver", + "nameLocation": "424:11:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 911, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "452:4:4", + "nodeType": "VariableDeclaration", + "scope": 915, + "src": "436:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 910, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 913, + "indexed": false, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "466:8:4", + "nodeType": "VariableDeclaration", + "scope": 915, + "src": "458:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 912, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "458:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "435:40:4" + }, + "src": "418:58:4" + }, + { + "anonymous": false, + "eventSelector": "1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68", + "id": 921, + "name": "NewTTL", + "nameLocation": "533:6:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 917, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "556:4:4", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "540:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 919, + "indexed": false, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "569:3:4", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "562:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 918, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "562:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "539:34:4" + }, + "src": "527:47:4" + }, + { + "anonymous": false, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 929, + "name": "ApprovalForAll", + "nameLocation": "638:14:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 923, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "678:5:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "662:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "662:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 925, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "709:8:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "693:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 924, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 927, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "732:8:4", + "nodeType": "VariableDeclaration", + "scope": 929, + "src": "727:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 926, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "652:94:4" + }, + "src": "632:115:4" + }, + { + "functionSelector": "cf408823", + "id": 940, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nameLocation": "762:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 931, + "mutability": "mutable", + "name": "node", + "nameLocation": "789:4:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "781:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 930, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "781:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 933, + "mutability": "mutable", + "name": "owner", + "nameLocation": "811:5:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "803:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 932, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 935, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "834:8:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "826:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 934, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 937, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "859:3:4", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "852:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 936, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "852:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "771:97:4" + }, + "returnParameters": { + "id": 939, + "nodeType": "ParameterList", + "parameters": [], + "src": "877:0:4" + }, + "scope": 1030, + "src": "753:125:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5ef2c7f0", + "id": 953, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nameLocation": "893:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 942, + "mutability": "mutable", + "name": "node", + "nameLocation": "927:4:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "919:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "919:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 944, + "mutability": "mutable", + "name": "label", + "nameLocation": "949:5:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "941:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 943, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "941:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 946, + "mutability": "mutable", + "name": "owner", + "nameLocation": "972:5:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "964:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 948, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "995:8:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "987:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "987:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 950, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "1020:3:4", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "1013:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 949, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1013:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "909:120:4" + }, + "returnParameters": { + "id": 952, + "nodeType": "ParameterList", + "parameters": [], + "src": "1038:0:4" + }, + "scope": 1030, + "src": "884:155:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "06ab5923", + "id": 964, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nameLocation": "1054:15:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 955, + "mutability": "mutable", + "name": "node", + "nameLocation": "1087:4:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1079:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 954, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1079:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 957, + "mutability": "mutable", + "name": "label", + "nameLocation": "1109:5:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1101:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 956, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1101:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 959, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1132:5:4", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1124:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1124:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1069:74:4" + }, + "returnParameters": { + "id": 963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 962, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 964, + "src": "1162:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 961, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1162:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1161:9:4" + }, + "scope": 1030, + "src": "1045:126:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1896f70a", + "id": 971, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "1186:11:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "node", + "nameLocation": "1206:4:4", + "nodeType": "VariableDeclaration", + "scope": 971, + "src": "1198:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 965, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1198:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 968, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "1220:8:4", + "nodeType": "VariableDeclaration", + "scope": 971, + "src": "1212:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 967, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1212:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1197:32:4" + }, + "returnParameters": { + "id": 970, + "nodeType": "ParameterList", + "parameters": [], + "src": "1238:0:4" + }, + "scope": 1030, + "src": "1177:62:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5b0fc9c3", + "id": 978, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setOwner", + "nameLocation": "1254:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 973, + "mutability": "mutable", + "name": "node", + "nameLocation": "1271:4:4", + "nodeType": "VariableDeclaration", + "scope": 978, + "src": "1263:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 972, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1263:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 975, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1285:5:4", + "nodeType": "VariableDeclaration", + "scope": 978, + "src": "1277:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 974, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1277:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1262:29:4" + }, + "returnParameters": { + "id": 977, + "nodeType": "ParameterList", + "parameters": [], + "src": "1300:0:4" + }, + "scope": 1030, + "src": "1245:56:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "14ab9038", + "id": 985, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nameLocation": "1316:6:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 980, + "mutability": "mutable", + "name": "node", + "nameLocation": "1331:4:4", + "nodeType": "VariableDeclaration", + "scope": 985, + "src": "1323:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 982, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "1344:3:4", + "nodeType": "VariableDeclaration", + "scope": 985, + "src": "1337:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 981, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1337:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1322:26:4" + }, + "returnParameters": { + "id": 984, + "nodeType": "ParameterList", + "parameters": [], + "src": "1357:0:4" + }, + "scope": 1030, + "src": "1307:51:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a22cb465", + "id": 992, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "1373:17:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 987, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1399:8:4", + "nodeType": "VariableDeclaration", + "scope": 992, + "src": "1391:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1391:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 989, + "mutability": "mutable", + "name": "approved", + "nameLocation": "1414:8:4", + "nodeType": "VariableDeclaration", + "scope": 992, + "src": "1409:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 988, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1390:33:4" + }, + "returnParameters": { + "id": 991, + "nodeType": "ParameterList", + "parameters": [], + "src": "1432:0:4" + }, + "scope": 1030, + "src": "1364:69:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "02571be3", + "id": 999, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1448:5:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 994, + "mutability": "mutable", + "name": "node", + "nameLocation": "1462:4:4", + "nodeType": "VariableDeclaration", + "scope": 999, + "src": "1454:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1454:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1453:14:4" + }, + "returnParameters": { + "id": 998, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 997, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 999, + "src": "1491:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 996, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1491:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1490:9:4" + }, + "scope": 1030, + "src": "1439:61:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0178b8bf", + "id": 1006, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolver", + "nameLocation": "1515:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1001, + "mutability": "mutable", + "name": "node", + "nameLocation": "1532:4:4", + "nodeType": "VariableDeclaration", + "scope": 1006, + "src": "1524:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1000, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1524:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1523:14:4" + }, + "returnParameters": { + "id": 1005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1004, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1006, + "src": "1561:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1561:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1560:9:4" + }, + "scope": 1030, + "src": "1506:64:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "16a25cbd", + "id": 1013, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ttl", + "nameLocation": "1585:3:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1008, + "mutability": "mutable", + "name": "node", + "nameLocation": "1597:4:4", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "1589:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1007, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1589:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1588:14:4" + }, + "returnParameters": { + "id": 1012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1011, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "1626:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1010, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1626:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1625:8:4" + }, + "scope": 1030, + "src": "1576:58:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f79fe538", + "id": 1020, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "recordExists", + "nameLocation": "1649:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1015, + "mutability": "mutable", + "name": "node", + "nameLocation": "1670:4:4", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "1662:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1014, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1662:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1661:14:4" + }, + "returnParameters": { + "id": 1019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1018, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "1699:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1699:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1698:6:4" + }, + "scope": 1030, + "src": "1640:65:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "e985e9c5", + "id": 1029, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "1720:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1022, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1754:5:4", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1746:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1746:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1024, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1777:8:4", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1769:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1769:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1736:55:4" + }, + "returnParameters": { + "id": 1028, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1027, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1029, + "src": "1815:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1026, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1815:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1814:6:4" + }, + "scope": 1030, + "src": "1711:110:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1031, + "src": "57:1766:4", + "usedErrors": [], + "usedEvents": [ + 903, + 909, + 915, + 921, + 929 + ] + } + ], + "src": "31:1793:4" + }, + "id": 4 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "exportedSymbols": { + "IAddrResolver": [ + 1048 + ] + }, + "id": 1049, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1032, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:24:5" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddrResolver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1033, + "nodeType": "StructuredDocumentation", + "src": "58:61:5", + "text": " Interface for the legacy (ETH-only) addr function." + }, + "fullyImplemented": false, + "id": 1048, + "linearizedBaseContracts": [ + 1048 + ], + "name": "IAddrResolver", + "nameLocation": "130:13:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", + "id": 1039, + "name": "AddrChanged", + "nameLocation": "156:11:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1035, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "184:4:5", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "168:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1034, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "168:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1037, + "indexed": false, + "mutability": "mutable", + "name": "a", + "nameLocation": "198:1:5", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "190:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "190:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "167:33:5" + }, + "src": "150:51:5" + }, + { + "documentation": { + "id": 1040, + "nodeType": "StructuredDocumentation", + "src": "207:148:5", + "text": " Returns the address associated with an ENS node.\n @param node The ENS node to query.\n @return The associated address." + }, + "functionSelector": "3b3b57de", + "id": 1047, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nameLocation": "369:4:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1042, + "mutability": "mutable", + "name": "node", + "nameLocation": "382:4:5", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "374:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "374:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "373:14:5" + }, + "returnParameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1045, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "411:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "411:15:5", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "410:17:5" + }, + "scope": 1048, + "src": "360:68:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1049, + "src": "120:310:5", + "usedErrors": [], + "usedEvents": [ + 1039 + ] + } + ], + "src": "32:399:5" + }, + "id": 5 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "exportedSymbols": { + "IAddressResolver": [ + 1069 + ] + }, + "id": 1070, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1050, + "literals": [ + "solidity", + ">=", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:24:6" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddressResolver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1051, + "nodeType": "StructuredDocumentation", + "src": "58:59:6", + "text": " Interface for the new (multicoin) addr function." + }, + "fullyImplemented": false, + "id": 1069, + "linearizedBaseContracts": [ + 1069 + ], + "name": "IAddressResolver", + "nameLocation": "128:16:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", + "id": 1059, + "name": "AddressChanged", + "nameLocation": "157:14:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1053, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "197:4:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "181:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1052, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "181:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1055, + "indexed": false, + "mutability": "mutable", + "name": "coinType", + "nameLocation": "219:8:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "211:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1054, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "211:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1057, + "indexed": false, + "mutability": "mutable", + "name": "newAddress", + "nameLocation": "243:10:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "237:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1056, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "237:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "171:88:6" + }, + "src": "151:109:6" + }, + { + "functionSelector": "f1cb7e06", + "id": 1068, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addr", + "nameLocation": "275:4:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1061, + "mutability": "mutable", + "name": "node", + "nameLocation": "297:4:6", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "289:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1060, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "289:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1063, + "mutability": "mutable", + "name": "coinType", + "nameLocation": "319:8:6", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "311:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "311:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "279:54:6" + }, + "returnParameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "357:12:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1065, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "357:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "356:14:6" + }, + "scope": 1069, + "src": "266:105:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1070, + "src": "118:255:6", + "usedErrors": [], + "usedEvents": [ + 1059 + ] + } + ], + "src": "32:342:6" + }, + "id": 6 + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "exportedSymbols": { + "IExtendedResolver": [ + 1081 + ] + }, + "id": 1082, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1071, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "32:23:7" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IExtendedResolver", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1081, + "linearizedBaseContracts": [ + 1081 + ], + "name": "IExtendedResolver", + "nameLocation": "67:17:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "9061b923", + "id": 1080, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resolve", + "nameLocation": "100:7:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "mutability": "mutable", + "name": "name", + "nameLocation": "130:4:7", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "117:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1072, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "117:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1075, + "mutability": "mutable", + "name": "data", + "nameLocation": "157:4:7", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "144:17:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1074, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "144:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "107:60:7" + }, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "191:12:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1077, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "191:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "190:14:7" + }, + "scope": 1081, + "src": "91:114:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1082, + "src": "57:150:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:176:7" + }, + "id": 7 + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "exportedSymbols": { + "BytesUtils": [ + 2017 + ] + }, + "id": 2018, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1083, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "31:23:8" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "BytesUtils", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 2017, + "linearizedBaseContracts": [ + 2017 + ], + "name": "BytesUtils", + "nameLocation": "64:10:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "errorSelector": "8a3c1cfb", + "id": 1089, + "name": "OffsetOutOfBoundsError", + "nameLocation": "87:22:8", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1085, + "mutability": "mutable", + "name": "offset", + "nameLocation": "118:6:8", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "110:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "110:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1087, + "mutability": "mutable", + "name": "length", + "nameLocation": "134:6:8", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "126:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "126:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "109:32:8" + }, + "src": "81:61:8" + }, + { + "body": { + "id": 1110, + "nodeType": "Block", + "src": "539:144:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1101, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "557:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1102, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "566:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "557:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1104, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "573:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "578:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "573:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "557:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1100, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "549:36:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1108, + "nodeType": "ExpressionStatement", + "src": "549:36:8" + }, + { + "AST": { + "nativeSrc": "604:73:8", + "nodeType": "YulBlock", + "src": "604:73:8", + "statements": [ + { + "nativeSrc": "618:49:8", + "nodeType": "YulAssignment", + "src": "618:49:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "643:4:8", + "nodeType": "YulIdentifier", + "src": "643:4:8" + }, + { + "kind": "number", + "nativeSrc": "649:2:8", + "nodeType": "YulLiteral", + "src": "649:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "639:3:8", + "nodeType": "YulIdentifier", + "src": "639:3:8" + }, + "nativeSrc": "639:13:8", + "nodeType": "YulFunctionCall", + "src": "639:13:8" + }, + { + "name": "offset", + "nativeSrc": "654:6:8", + "nodeType": "YulIdentifier", + "src": "654:6:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "635:3:8", + "nodeType": "YulIdentifier", + "src": "635:3:8" + }, + "nativeSrc": "635:26:8", + "nodeType": "YulFunctionCall", + "src": "635:26:8" + }, + { + "name": "len", + "nativeSrc": "663:3:8", + "nodeType": "YulIdentifier", + "src": "663:3:8" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "625:9:8", + "nodeType": "YulIdentifier", + "src": "625:9:8" + }, + "nativeSrc": "625:42:8", + "nodeType": "YulFunctionCall", + "src": "625:42:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "618:3:8", + "nodeType": "YulIdentifier", + "src": "618:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1095, + "isOffset": false, + "isSlot": false, + "src": "663:3:8", + "valueSize": 1 + }, + { + "declaration": 1093, + "isOffset": false, + "isSlot": false, + "src": "654:6:8", + "valueSize": 1 + }, + { + "declaration": 1098, + "isOffset": false, + "isSlot": false, + "src": "618:3:8", + "valueSize": 1 + }, + { + "declaration": 1091, + "isOffset": false, + "isSlot": false, + "src": "643:4:8", + "valueSize": 1 + } + ], + "id": 1109, + "nodeType": "InlineAssembly", + "src": "595:82:8" + } + ] + }, + "id": 1111, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "keccak", + "nameLocation": "418:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "mutability": "mutable", + "name": "self", + "nameLocation": "447:4:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "434:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1090, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "434:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1093, + "mutability": "mutable", + "name": "offset", + "nameLocation": "469:6:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "461:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "461:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1095, + "mutability": "mutable", + "name": "len", + "nameLocation": "493:3:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "485:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "485:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "424:78:8" + }, + "returnParameters": { + "id": 1099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1098, + "mutability": "mutable", + "name": "ret", + "nameLocation": "534:3:8", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "526:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1097, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "526:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "525:13:8" + }, + "scope": 2017, + "src": "409:274:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1164, + "nodeType": "Block", + "src": "1021:336:8", + "statements": [ + { + "assignments": [ + 1122, + 1124 + ], + "declarations": [ + { + "constant": false, + "id": 1122, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "1040:9:8", + "nodeType": "VariableDeclaration", + "scope": 1164, + "src": "1032:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1124, + "mutability": "mutable", + "name": "newOffset", + "nameLocation": "1059:9:8", + "nodeType": "VariableDeclaration", + "scope": 1164, + "src": "1051:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1129, + "initialValue": { + "arguments": [ + { + "id": 1126, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1082:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1127, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "1088:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1125, + "name": "readLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1229, + "src": "1072:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_uint256_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32,uint256)" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1072:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1031:64:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1130, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1122, + "src": "1109:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1130:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1131, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1122:7:8", + "typeDescriptions": {} + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1122:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1109:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1152, + "nodeType": "IfStatement", + "src": "1105:152:8", + "trueBody": { + "id": 1151, + "nodeType": "Block", + "src": "1134:123:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1137, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "1156:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1138, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1166:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1171:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1166:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1180:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1166:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1156:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e616d65686173683a204a756e6b20617420656e64206f66206e616d65", + "id": 1143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1183:31:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_912cb3202b125350fc41f3ab0d7246878642a776f73877d55ca2cfbcec1f2142", + "typeString": "literal_string \"namehash: Junk at end of name\"" + }, + "value": "namehash: Junk at end of name" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_912cb3202b125350fc41f3ab0d7246878642a776f73877d55ca2cfbcec1f2142", + "typeString": "literal_string \"namehash: Junk at end of name\"" + } + ], + "id": 1136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1148:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1148:67:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1145, + "nodeType": "ExpressionStatement", + "src": "1148:67:8" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1244:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1236:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1236:7:8", + "typeDescriptions": {} + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1236:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1120, + "id": 1150, + "nodeType": "Return", + "src": "1229:17:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 1157, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1114, + "src": "1321:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1158, + "name": "newOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "1327:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1156, + "name": "namehash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "1312:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256) pure returns (bytes32)" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1312:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1160, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1122, + "src": "1339:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1154, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1295:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1299:12:8", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1295:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1295:54:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1153, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1285:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1285:65:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1120, + "id": 1163, + "nodeType": "Return", + "src": "1266:84:8" + } + ] + }, + "documentation": { + "id": 1112, + "nodeType": "StructuredDocumentation", + "src": "689:220:8", + "text": " @dev Returns the ENS namehash of a DNS-encoded name.\n @param self The DNS-encoded name to hash.\n @param offset The offset at which to start hashing.\n @return The namehash of the name." + }, + "id": 1165, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "namehash", + "nameLocation": "923:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1114, + "mutability": "mutable", + "name": "self", + "nameLocation": "954:4:8", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "941:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1113, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "941:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1116, + "mutability": "mutable", + "name": "offset", + "nameLocation": "976:6:8", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "968:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "968:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "931:57:8" + }, + "returnParameters": { + "id": 1120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1165, + "src": "1012:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1012:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1011:9:8" + }, + "scope": 2017, + "src": "914:443:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1228, + "nodeType": "Block", + "src": "1891:296:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1178, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "1909:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1179, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "1915:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1920:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1915:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1909:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "726561644c6162656c3a20496e646578206f7574206f6620626f756e6473", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1928:32:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723ef06cf58e92d84b8ad4ad83db034cb099b69c213da6595a1e7ca6ebe51535", + "typeString": "literal_string \"readLabel: Index out of bounds\"" + }, + "value": "readLabel: Index out of bounds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723ef06cf58e92d84b8ad4ad83db034cb099b69c213da6595a1e7ca6ebe51535", + "typeString": "literal_string \"readLabel: Index out of bounds\"" + } + ], + "id": 1177, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1901:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1184, + "nodeType": "ExpressionStatement", + "src": "1901:60:8" + }, + { + "assignments": [ + 1186 + ], + "declarations": [ + { + "constant": false, + "id": 1186, + "mutability": "mutable", + "name": "len", + "nameLocation": "1979:3:8", + "nodeType": "VariableDeclaration", + "scope": 1228, + "src": "1971:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1971:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1196, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 1191, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "1999:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1193, + "indexExpression": { + "id": 1192, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2004:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1999:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1993:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1189, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1993:5:8", + "typeDescriptions": {} + } + }, + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1993:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1985:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1985:7:8", + "typeDescriptions": {} + } + }, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1985:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1971:39:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1197, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2024:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2024:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1218, + "nodeType": "Block", + "src": "2102:47:8", + "statements": [ + { + "expression": { + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1211, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "2116:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2136:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2128:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1212, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2128:7:8", + "typeDescriptions": {} + } + }, + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2128:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2116:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1217, + "nodeType": "ExpressionStatement", + "src": "2116:22:8" + } + ] + }, + "id": 1219, + "nodeType": "IfStatement", + "src": "2020:129:8", + "trueBody": { + "id": 1210, + "nodeType": "Block", + "src": "2033:63:8", + "statements": [ + { + "expression": { + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1200, + "name": "labelhash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1173, + "src": "2047:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1202, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "2066:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1203, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2072:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2078:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2072:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1206, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2081:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1201, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "2059:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2059:26:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2047:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1209, + "nodeType": "ExpressionStatement", + "src": "2047:38:8" + } + ] + } + }, + { + "expression": { + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1220, + "name": "newIdx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1175, + "src": "2158:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1221, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2167:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1222, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1186, + "src": "2173:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2167:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2179:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2167:13:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2158:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1227, + "nodeType": "ExpressionStatement", + "src": "2158:22:8" + } + ] + }, + "documentation": { + "id": 1166, + "nodeType": "StructuredDocumentation", + "src": "1363:392:8", + "text": " @dev Returns the keccak-256 hash of a DNS-encoded label, and the offset to the start of the next label.\n @param self The byte string to read a label from.\n @param idx The index to read a label at.\n @return labelhash The hash of the label at the specified index, or 0 if it is the last label.\n @return newIdx The index of the start of the next label." + }, + "id": 1229, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readLabel", + "nameLocation": "1769:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "mutability": "mutable", + "name": "self", + "nameLocation": "1801:4:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1788:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1167, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1788:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1170, + "mutability": "mutable", + "name": "idx", + "nameLocation": "1823:3:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1815:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1815:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1778:54:8" + }, + "returnParameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1173, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "1864:9:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1856:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1172, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1856:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "mutability": "mutable", + "name": "newIdx", + "nameLocation": "1883:6:8", + "nodeType": "VariableDeclaration", + "scope": 1229, + "src": "1875:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1875:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1855:35:8" + }, + "scope": 2017, + "src": "1760:427:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1249, + "nodeType": "Block", + "src": "2659:77:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1239, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1231, + "src": "2684:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2690:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1241, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1231, + "src": "2693:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2698:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2693:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1243, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1233, + "src": "2706:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2713:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1245, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1233, + "src": "2716:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2722:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2716:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1238, + "name": "compare", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1250, + 1421 + ], + "referencedDeclaration": 1421, + "src": "2676:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_int256_$", + "typeString": "function (bytes memory,uint256,uint256,bytes memory,uint256,uint256) pure returns (int256)" + } + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2676:53:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1237, + "id": 1248, + "nodeType": "Return", + "src": "2669:60:8" + } + ] + }, + "id": 1250, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compare", + "nameLocation": "2559:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "self", + "nameLocation": "2589:4:8", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2576:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1230, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2576:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1233, + "mutability": "mutable", + "name": "other", + "nameLocation": "2616:5:8", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2603:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1232, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2603:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2566:61:8" + }, + "returnParameters": { + "id": 1237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1250, + "src": "2651:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1235, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2651:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2650:8:8" + }, + "scope": 2017, + "src": "2550:186:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1420, + "nodeType": "Block", + "src": "3570:1315:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1267, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1254, + "src": "3584:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1268, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3593:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3584:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 1270, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "3599:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3604:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3599:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3584:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1282, + "nodeType": "IfStatement", + "src": "3580:113:8", + "trueBody": { + "id": 1281, + "nodeType": "Block", + "src": "3612:81:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1274, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1254, + "src": "3656:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1275, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3665:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3656:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1277, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "3670:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3675:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3670:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1273, + "name": "OffsetOutOfBoundsError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "3633:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3633:49:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1280, + "nodeType": "RevertStatement", + "src": "3626:56:8" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1283, + "name": "otheroffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3706:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1284, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3720:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3706:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 1286, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "3731:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3737:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3731:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3706:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1298, + "nodeType": "IfStatement", + "src": "3702:135:8", + "trueBody": { + "id": 1297, + "nodeType": "Block", + "src": "3745:92:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1290, + "name": "otheroffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3789:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1291, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3803:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3789:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1293, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "3813:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3819:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3813:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1289, + "name": "OffsetOutOfBoundsError", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "3766:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3766:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1296, + "nodeType": "RevertStatement", + "src": "3759:67:8" + } + ] + } + }, + { + "assignments": [ + 1300 + ], + "declarations": [ + { + "constant": false, + "id": 1300, + "mutability": "mutable", + "name": "shortest", + "nameLocation": "3855:8:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3847:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1299, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3847:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1302, + "initialValue": { + "id": 1301, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3866:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3847:22:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1303, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3883:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1304, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "3894:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3883:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1310, + "nodeType": "IfStatement", + "src": "3879:39:8", + "trueBody": { + "expression": { + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1306, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "3899:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1307, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3910:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3899:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1309, + "nodeType": "ExpressionStatement", + "src": "3899:19:8" + } + }, + { + "assignments": [ + 1312 + ], + "declarations": [ + { + "constant": false, + "id": 1312, + "mutability": "mutable", + "name": "selfptr", + "nameLocation": "3937:7:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3929:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3929:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1313, + "nodeType": "VariableDeclarationStatement", + "src": "3929:15:8" + }, + { + "assignments": [ + 1315 + ], + "declarations": [ + { + "constant": false, + "id": 1315, + "mutability": "mutable", + "name": "otherptr", + "nameLocation": "3962:8:8", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "3954:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3954:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1316, + "nodeType": "VariableDeclarationStatement", + "src": "3954:16:8" + }, + { + "AST": { + "nativeSrc": "3990:118:8", + "nodeType": "YulBlock", + "src": "3990:118:8", + "statements": [ + { + "nativeSrc": "4004:37:8", + "nodeType": "YulAssignment", + "src": "4004:37:8", + "value": { + "arguments": [ + { + "name": "self", + "nativeSrc": "4019:4:8", + "nodeType": "YulIdentifier", + "src": "4019:4:8" + }, + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4029:6:8", + "nodeType": "YulIdentifier", + "src": "4029:6:8" + }, + { + "kind": "number", + "nativeSrc": "4037:2:8", + "nodeType": "YulLiteral", + "src": "4037:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4025:3:8", + "nodeType": "YulIdentifier", + "src": "4025:3:8" + }, + "nativeSrc": "4025:15:8", + "nodeType": "YulFunctionCall", + "src": "4025:15:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4015:3:8", + "nodeType": "YulIdentifier", + "src": "4015:3:8" + }, + "nativeSrc": "4015:26:8", + "nodeType": "YulFunctionCall", + "src": "4015:26:8" + }, + "variableNames": [ + { + "name": "selfptr", + "nativeSrc": "4004:7:8", + "nodeType": "YulIdentifier", + "src": "4004:7:8" + } + ] + }, + { + "nativeSrc": "4054:44:8", + "nodeType": "YulAssignment", + "src": "4054:44:8", + "value": { + "arguments": [ + { + "name": "other", + "nativeSrc": "4070:5:8", + "nodeType": "YulIdentifier", + "src": "4070:5:8" + }, + { + "arguments": [ + { + "name": "otheroffset", + "nativeSrc": "4081:11:8", + "nodeType": "YulIdentifier", + "src": "4081:11:8" + }, + { + "kind": "number", + "nativeSrc": "4094:2:8", + "nodeType": "YulLiteral", + "src": "4094:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4077:3:8", + "nodeType": "YulIdentifier", + "src": "4077:3:8" + }, + "nativeSrc": "4077:20:8", + "nodeType": "YulFunctionCall", + "src": "4077:20:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4066:3:8", + "nodeType": "YulIdentifier", + "src": "4066:3:8" + }, + "nativeSrc": "4066:32:8", + "nodeType": "YulFunctionCall", + "src": "4066:32:8" + }, + "variableNames": [ + { + "name": "otherptr", + "nativeSrc": "4054:8:8", + "nodeType": "YulIdentifier", + "src": "4054:8:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1254, + "isOffset": false, + "isSlot": false, + "src": "4029:6:8", + "valueSize": 1 + }, + { + "declaration": 1258, + "isOffset": false, + "isSlot": false, + "src": "4070:5:8", + "valueSize": 1 + }, + { + "declaration": 1260, + "isOffset": false, + "isSlot": false, + "src": "4081:11:8", + "valueSize": 1 + }, + { + "declaration": 1315, + "isOffset": false, + "isSlot": false, + "src": "4054:8:8", + "valueSize": 1 + }, + { + "declaration": 1252, + "isOffset": false, + "isSlot": false, + "src": "4019:4:8", + "valueSize": 1 + }, + { + "declaration": 1312, + "isOffset": false, + "isSlot": false, + "src": "4004:7:8", + "valueSize": 1 + } + ], + "id": 1317, + "nodeType": "InlineAssembly", + "src": "3981:127:8" + }, + { + "body": { + "id": 1408, + "nodeType": "Block", + "src": "4166:665:8", + "statements": [ + { + "assignments": [ + 1330 + ], + "declarations": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "a", + "nameLocation": "4188:1:8", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "4180:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1331, + "nodeType": "VariableDeclarationStatement", + "src": "4180:9:8" + }, + { + "assignments": [ + 1333 + ], + "declarations": [ + { + "constant": false, + "id": 1333, + "mutability": "mutable", + "name": "b", + "nameLocation": "4211:1:8", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "4203:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4203:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1334, + "nodeType": "VariableDeclarationStatement", + "src": "4203:9:8" + }, + { + "AST": { + "nativeSrc": "4235:88:8", + "nodeType": "YulBlock", + "src": "4235:88:8", + "statements": [ + { + "nativeSrc": "4253:19:8", + "nodeType": "YulAssignment", + "src": "4253:19:8", + "value": { + "arguments": [ + { + "name": "selfptr", + "nativeSrc": "4264:7:8", + "nodeType": "YulIdentifier", + "src": "4264:7:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4258:5:8", + "nodeType": "YulIdentifier", + "src": "4258:5:8" + }, + "nativeSrc": "4258:14:8", + "nodeType": "YulFunctionCall", + "src": "4258:14:8" + }, + "variableNames": [ + { + "name": "a", + "nativeSrc": "4253:1:8", + "nodeType": "YulIdentifier", + "src": "4253:1:8" + } + ] + }, + { + "nativeSrc": "4289:20:8", + "nodeType": "YulAssignment", + "src": "4289:20:8", + "value": { + "arguments": [ + { + "name": "otherptr", + "nativeSrc": "4300:8:8", + "nodeType": "YulIdentifier", + "src": "4300:8:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4294:5:8", + "nodeType": "YulIdentifier", + "src": "4294:5:8" + }, + "nativeSrc": "4294:15:8", + "nodeType": "YulFunctionCall", + "src": "4294:15:8" + }, + "variableNames": [ + { + "name": "b", + "nativeSrc": "4289:1:8", + "nodeType": "YulIdentifier", + "src": "4289:1:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1330, + "isOffset": false, + "isSlot": false, + "src": "4253:1:8", + "valueSize": 1 + }, + { + "declaration": 1333, + "isOffset": false, + "isSlot": false, + "src": "4289:1:8", + "valueSize": 1 + }, + { + "declaration": 1315, + "isOffset": false, + "isSlot": false, + "src": "4300:8:8", + "valueSize": 1 + }, + { + "declaration": 1312, + "isOffset": false, + "isSlot": false, + "src": "4264:7:8", + "valueSize": 1 + } + ], + "id": 1335, + "nodeType": "InlineAssembly", + "src": "4226:97:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1336, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "4340:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 1337, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "4345:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4340:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1399, + "nodeType": "IfStatement", + "src": "4336:430:8", + "trueBody": { + "id": 1398, + "nodeType": "Block", + "src": "4348:418:8", + "statements": [ + { + "assignments": [ + 1340 + ], + "declarations": [ + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "mask", + "nameLocation": "4435:4:8", + "nodeType": "VariableDeclaration", + "scope": 1398, + "src": "4427:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4427:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1341, + "nodeType": "VariableDeclarationStatement", + "src": "4427:12:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1342, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4461:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1343, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4472:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4461:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 1345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4479:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4461:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1374, + "nodeType": "Block", + "src": "4554:87:8", + "statements": [ + { + "expression": { + "id": 1372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1356, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4576:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "4583:39:8", + "subExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4585:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 1358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4591:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1359, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4596:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3332", + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4602:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4596:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1362, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4607:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4596:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1364, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4595:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4591:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1366, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4590:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4585:32:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4620:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4585:36:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1370, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4584:38:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4576:46:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1373, + "nodeType": "ExpressionStatement", + "src": "4576:46:8" + } + ] + }, + "id": 1375, + "nodeType": "IfStatement", + "src": "4457:184:8", + "trueBody": { + "id": 1355, + "nodeType": "Block", + "src": "4483:65:8", + "statements": [ + { + "expression": { + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1347, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4505:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "arguments": [ + { + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4517:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4517:7:8", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 1348, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4512:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4512:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4526:3:8", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "4512:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4505:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1354, + "nodeType": "ExpressionStatement", + "src": "4505:24:8" + } + ] + } + }, + { + "assignments": [ + 1377 + ], + "declarations": [ + { + "constant": false, + "id": 1377, + "mutability": "mutable", + "name": "diff", + "nameLocation": "4665:4:8", + "nodeType": "VariableDeclaration", + "scope": 1398, + "src": "4658:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1376, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4658:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 1391, + "initialValue": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1380, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "4679:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1381, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4683:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4679:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4672:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1378, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4672:6:8", + "typeDescriptions": {} + } + }, + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4672:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1386, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "4698:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 1387, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "4702:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4698:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4691:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1384, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4691:6:8", + "typeDescriptions": {} + } + }, + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4691:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "4672:35:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4658:49:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1392, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "4729:4:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4737:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4729:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1397, + "nodeType": "IfStatement", + "src": "4725:26:8", + "trueBody": { + "expression": { + "id": 1395, + "name": "diff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1377, + "src": "4747:4:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1266, + "id": 1396, + "nodeType": "Return", + "src": "4740:11:8" + } + } + ] + } + }, + { + "expression": { + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1400, + "name": "selfptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4779:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4790:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4779:13:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1403, + "nodeType": "ExpressionStatement", + "src": "4779:13:8" + }, + { + "expression": { + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1404, + "name": "otherptr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4806:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4818:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4806:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1407, + "nodeType": "ExpressionStatement", + "src": "4806:14:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1322, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4139:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1323, + "name": "shortest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "4145:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4139:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1409, + "initializationExpression": { + "assignments": [ + 1319 + ], + "declarations": [ + { + "constant": false, + "id": 1319, + "mutability": "mutable", + "name": "idx", + "nameLocation": "4130:3:8", + "nodeType": "VariableDeclaration", + "scope": 1409, + "src": "4122:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1321, + "initialValue": { + "hexValue": "30", + "id": 1320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4136:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4122:15:8" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1325, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "4155:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4162:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4155:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1328, + "nodeType": "ExpressionStatement", + "src": "4155:9:8" + }, + "nodeType": "ForStatement", + "src": "4117:714:8" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1412, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "4855:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4848:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1410, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4848:6:8", + "typeDescriptions": {} + } + }, + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4848:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "id": 1416, + "name": "otherlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "4869:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4862:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 1414, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4862:6:8", + "typeDescriptions": {} + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4862:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "4848:30:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 1266, + "id": 1419, + "nodeType": "Return", + "src": "4841:37:8" + } + ] + }, + "id": 1421, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "compare", + "nameLocation": "3370:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1252, + "mutability": "mutable", + "name": "self", + "nameLocation": "3400:4:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3387:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1251, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3387:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1254, + "mutability": "mutable", + "name": "offset", + "nameLocation": "3422:6:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3414:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3414:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1256, + "mutability": "mutable", + "name": "len", + "nameLocation": "3446:3:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3438:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3438:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1258, + "mutability": "mutable", + "name": "other", + "nameLocation": "3472:5:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3459:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1257, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3459:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1260, + "mutability": "mutable", + "name": "otheroffset", + "nameLocation": "3495:11:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3487:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3487:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1262, + "mutability": "mutable", + "name": "otherlen", + "nameLocation": "3524:8:8", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3516:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3516:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3377:161:8" + }, + "returnParameters": { + "id": 1266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1265, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1421, + "src": "3562:6:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1264, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3562:6:8", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3561:8:8" + }, + "scope": 2017, + "src": "3361:1524:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1448, + "nodeType": "Block", + "src": "5491:84:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1437, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5515:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1438, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1425, + "src": "5521:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1439, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "5529:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1436, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "5508:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5508:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1442, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1427, + "src": "5544:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1443, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5551:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1444, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "5564:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1441, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "5537:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5537:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5508:60:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1435, + "id": 1447, + "nodeType": "Return", + "src": "5501:67:8" + } + ] + }, + "id": 1449, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "5320:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "mutability": "mutable", + "name": "self", + "nameLocation": "5349:4:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5336:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1422, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5336:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1425, + "mutability": "mutable", + "name": "offset", + "nameLocation": "5371:6:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5363:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5363:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "mutability": "mutable", + "name": "other", + "nameLocation": "5400:5:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5387:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1426, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5387:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "mutability": "mutable", + "name": "otherOffset", + "nameLocation": "5423:11:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5415:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5415:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1431, + "mutability": "mutable", + "name": "len", + "nameLocation": "5452:3:8", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5444:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1430, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5444:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5326:135:8" + }, + "returnParameters": { + "id": 1435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1434, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "5485:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5485:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5484:6:8" + }, + "scope": 2017, + "src": "5311:264:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1480, + "nodeType": "Block", + "src": "6124:148:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1463, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1451, + "src": "6160:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1464, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6166:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1465, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1451, + "src": "6174:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6179:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6174:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1467, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6188:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6174:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1462, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "6153:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6153:42:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1471, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "6218:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1472, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1457, + "src": "6225:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1473, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "6238:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6244:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6238:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1475, + "name": "otherOffset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1457, + "src": "6253:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6238:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1470, + "name": "keccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1111, + "src": "6211:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 1477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6211:54:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6153:112:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1461, + "id": 1479, + "nodeType": "Return", + "src": "6134:131:8" + } + ] + }, + "id": 1481, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "5974:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1451, + "mutability": "mutable", + "name": "self", + "nameLocation": "6003:4:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "5990:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1450, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5990:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1453, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6025:6:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6017:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6017:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1455, + "mutability": "mutable", + "name": "other", + "nameLocation": "6054:5:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6041:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1454, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6041:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1457, + "mutability": "mutable", + "name": "otherOffset", + "nameLocation": "6077:11:8", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6069:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6069:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5980:114:8" + }, + "returnParameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1481, + "src": "6118:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1459, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6118:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6117:6:8" + }, + "scope": 2017, + "src": "5965:307:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1509, + "nodeType": "Block", + "src": "6761:132:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1492, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "6790:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6795:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6790:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1494, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "6805:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 1495, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6814:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6820:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6814:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6805:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6790:36:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1500, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "6849:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1501, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "6855:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1502, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6863:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6870:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1504, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "6873:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6879:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6873:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1499, + "name": "equals", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1449, + 1481, + 1510, + 1535 + ], + "referencedDeclaration": 1449, + "src": "6842:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes memory,uint256,bytes memory,uint256,uint256) pure returns (bool)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6842:44:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6790:96:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1491, + "id": 1508, + "nodeType": "Return", + "src": "6771:115:8" + } + ] + }, + "id": 1510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "6640:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1483, + "mutability": "mutable", + "name": "self", + "nameLocation": "6669:4:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6656:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1482, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6656:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1485, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6691:6:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6683:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6683:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1487, + "mutability": "mutable", + "name": "other", + "nameLocation": "6720:5:8", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6707:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1486, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6707:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6646:85:8" + }, + "returnParameters": { + "id": 1491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "6755:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1489, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6755:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6754:6:8" + }, + "scope": 2017, + "src": "6631:262:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1534, + "nodeType": "Block", + "src": "7252:117:8", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1519, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7281:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7286:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7281:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1521, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "7296:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7302:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7296:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7281:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1525, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7331:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7337:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1527, + "name": "other", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "7340:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7347:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "expression": { + "id": 1529, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7350:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7355:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7350:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1524, + "name": "equals", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1449, + 1481, + 1510, + 1535 + ], + "referencedDeclaration": 1449, + "src": "7324:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes memory,uint256,bytes memory,uint256,uint256) pure returns (bool)" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7324:38:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7281:81:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1518, + "id": 1533, + "nodeType": "Return", + "src": "7262:100:8" + } + ] + }, + "id": 1535, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "equals", + "nameLocation": "7155:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "self", + "nameLocation": "7184:4:8", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7171:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1511, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7171:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1514, + "mutability": "mutable", + "name": "other", + "nameLocation": "7211:5:8", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7198:18:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1513, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7198:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7161:61:8" + }, + "returnParameters": { + "id": 1518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1517, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1535, + "src": "7246:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1516, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7246:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7245:6:8" + }, + "scope": 2017, + "src": "7146:223:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1551, + "nodeType": "Block", + "src": "7723:40:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 1546, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "7746:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1548, + "indexExpression": { + "id": 1547, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "7751:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7746:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7740:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1544, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7740:5:8", + "typeDescriptions": {} + } + }, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7740:16:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "functionReturnParameters": 1543, + "id": 1550, + "nodeType": "Return", + "src": "7733:23:8" + } + ] + }, + "id": 1552, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint8", + "nameLocation": "7625:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1537, + "mutability": "mutable", + "name": "self", + "nameLocation": "7657:4:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7644:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1536, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7644:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1539, + "mutability": "mutable", + "name": "idx", + "nameLocation": "7679:3:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7671:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7671:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7634:54:8" + }, + "returnParameters": { + "id": 1543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1542, + "mutability": "mutable", + "name": "ret", + "nameLocation": "7718:3:8", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "7712:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1541, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7712:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "7711:11:8" + }, + "scope": 2017, + "src": "7616:147:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1571, + "nodeType": "Block", + "src": "8121:139:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1562, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1556, + "src": "8139:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8145:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8139:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1565, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1554, + "src": "8150:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8155:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8150:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8139:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1561, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8131:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8131:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1569, + "nodeType": "ExpressionStatement", + "src": "8131:31:8" + }, + { + "AST": { + "nativeSrc": "8181:73:8", + "nodeType": "YulBlock", + "src": "8181:73:8", + "statements": [ + { + "nativeSrc": "8195:49:8", + "nodeType": "YulAssignment", + "src": "8195:49:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "8220:4:8", + "nodeType": "YulIdentifier", + "src": "8220:4:8" + }, + { + "kind": "number", + "nativeSrc": "8226:1:8", + "nodeType": "YulLiteral", + "src": "8226:1:8", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8216:3:8", + "nodeType": "YulIdentifier", + "src": "8216:3:8" + }, + "nativeSrc": "8216:12:8", + "nodeType": "YulFunctionCall", + "src": "8216:12:8" + }, + { + "name": "idx", + "nativeSrc": "8230:3:8", + "nodeType": "YulIdentifier", + "src": "8230:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8212:3:8", + "nodeType": "YulIdentifier", + "src": "8212:3:8" + }, + "nativeSrc": "8212:22:8", + "nodeType": "YulFunctionCall", + "src": "8212:22:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8206:5:8", + "nodeType": "YulIdentifier", + "src": "8206:5:8" + }, + "nativeSrc": "8206:29:8", + "nodeType": "YulFunctionCall", + "src": "8206:29:8" + }, + { + "kind": "number", + "nativeSrc": "8237:6:8", + "nodeType": "YulLiteral", + "src": "8237:6:8", + "type": "", + "value": "0xFFFF" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8202:3:8", + "nodeType": "YulIdentifier", + "src": "8202:3:8" + }, + "nativeSrc": "8202:42:8", + "nodeType": "YulFunctionCall", + "src": "8202:42:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "8195:3:8", + "nodeType": "YulIdentifier", + "src": "8195:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1556, + "isOffset": false, + "isSlot": false, + "src": "8230:3:8", + "valueSize": 1 + }, + { + "declaration": 1559, + "isOffset": false, + "isSlot": false, + "src": "8195:3:8", + "valueSize": 1 + }, + { + "declaration": 1554, + "isOffset": false, + "isSlot": false, + "src": "8220:4:8", + "valueSize": 1 + } + ], + "id": 1570, + "nodeType": "InlineAssembly", + "src": "8172:82:8" + } + ] + }, + "id": 1572, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint16", + "nameLocation": "8021:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1554, + "mutability": "mutable", + "name": "self", + "nameLocation": "8054:4:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8041:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1553, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8041:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1556, + "mutability": "mutable", + "name": "idx", + "nameLocation": "8076:3:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8068:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1555, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8068:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8031:54:8" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1559, + "mutability": "mutable", + "name": "ret", + "nameLocation": "8116:3:8", + "nodeType": "VariableDeclaration", + "scope": 1572, + "src": "8109:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 1558, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "8109:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "8108:12:8" + }, + "scope": 2017, + "src": "8012:248:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1591, + "nodeType": "Block", + "src": "8618:143:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1582, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "8636:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "34", + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8642:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "8636:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1585, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "8647:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8652:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8647:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8636:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1581, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8628:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8628:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1589, + "nodeType": "ExpressionStatement", + "src": "8628:31:8" + }, + { + "AST": { + "nativeSrc": "8678:77:8", + "nodeType": "YulBlock", + "src": "8678:77:8", + "statements": [ + { + "nativeSrc": "8692:53:8", + "nodeType": "YulAssignment", + "src": "8692:53:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "8717:4:8", + "nodeType": "YulIdentifier", + "src": "8717:4:8" + }, + { + "kind": "number", + "nativeSrc": "8723:1:8", + "nodeType": "YulLiteral", + "src": "8723:1:8", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8713:3:8", + "nodeType": "YulIdentifier", + "src": "8713:3:8" + }, + "nativeSrc": "8713:12:8", + "nodeType": "YulFunctionCall", + "src": "8713:12:8" + }, + { + "name": "idx", + "nativeSrc": "8727:3:8", + "nodeType": "YulIdentifier", + "src": "8727:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8709:3:8", + "nodeType": "YulIdentifier", + "src": "8709:3:8" + }, + "nativeSrc": "8709:22:8", + "nodeType": "YulFunctionCall", + "src": "8709:22:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8703:5:8", + "nodeType": "YulIdentifier", + "src": "8703:5:8" + }, + "nativeSrc": "8703:29:8", + "nodeType": "YulFunctionCall", + "src": "8703:29:8" + }, + { + "kind": "number", + "nativeSrc": "8734:10:8", + "nodeType": "YulLiteral", + "src": "8734:10:8", + "type": "", + "value": "0xFFFFFFFF" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8699:3:8", + "nodeType": "YulIdentifier", + "src": "8699:3:8" + }, + "nativeSrc": "8699:46:8", + "nodeType": "YulFunctionCall", + "src": "8699:46:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "8692:3:8", + "nodeType": "YulIdentifier", + "src": "8692:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1576, + "isOffset": false, + "isSlot": false, + "src": "8727:3:8", + "valueSize": 1 + }, + { + "declaration": 1579, + "isOffset": false, + "isSlot": false, + "src": "8692:3:8", + "valueSize": 1 + }, + { + "declaration": 1574, + "isOffset": false, + "isSlot": false, + "src": "8717:4:8", + "valueSize": 1 + } + ], + "id": 1590, + "nodeType": "InlineAssembly", + "src": "8669:86:8" + } + ] + }, + "id": 1592, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readUint32", + "nameLocation": "8518:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1577, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1574, + "mutability": "mutable", + "name": "self", + "nameLocation": "8551:4:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8538:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1573, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8538:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1576, + "mutability": "mutable", + "name": "idx", + "nameLocation": "8573:3:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8565:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8565:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8528:54:8" + }, + "returnParameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1579, + "mutability": "mutable", + "name": "ret", + "nameLocation": "8613:3:8", + "nodeType": "VariableDeclaration", + "scope": 1592, + "src": "8606:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 1578, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "8606:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "8605:12:8" + }, + "scope": 2017, + "src": "8509:252:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1611, + "nodeType": "Block", + "src": "9095:128:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1602, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "9113:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3332", + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9119:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "9113:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1605, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "9125:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9130:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9125:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9113:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1601, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9105:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9105:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1609, + "nodeType": "ExpressionStatement", + "src": "9105:32:8" + }, + { + "AST": { + "nativeSrc": "9156:61:8", + "nodeType": "YulBlock", + "src": "9156:61:8", + "statements": [ + { + "nativeSrc": "9170:37:8", + "nodeType": "YulAssignment", + "src": "9170:37:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "9191:4:8", + "nodeType": "YulIdentifier", + "src": "9191:4:8" + }, + { + "kind": "number", + "nativeSrc": "9197:2:8", + "nodeType": "YulLiteral", + "src": "9197:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9187:3:8", + "nodeType": "YulIdentifier", + "src": "9187:3:8" + }, + "nativeSrc": "9187:13:8", + "nodeType": "YulFunctionCall", + "src": "9187:13:8" + }, + { + "name": "idx", + "nativeSrc": "9202:3:8", + "nodeType": "YulIdentifier", + "src": "9202:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9183:3:8", + "nodeType": "YulIdentifier", + "src": "9183:3:8" + }, + "nativeSrc": "9183:23:8", + "nodeType": "YulFunctionCall", + "src": "9183:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9177:5:8", + "nodeType": "YulIdentifier", + "src": "9177:5:8" + }, + "nativeSrc": "9177:30:8", + "nodeType": "YulFunctionCall", + "src": "9177:30:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "9170:3:8", + "nodeType": "YulIdentifier", + "src": "9170:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1596, + "isOffset": false, + "isSlot": false, + "src": "9202:3:8", + "valueSize": 1 + }, + { + "declaration": 1599, + "isOffset": false, + "isSlot": false, + "src": "9170:3:8", + "valueSize": 1 + }, + { + "declaration": 1594, + "isOffset": false, + "isSlot": false, + "src": "9191:4:8", + "valueSize": 1 + } + ], + "id": 1610, + "nodeType": "InlineAssembly", + "src": "9147:70:8" + } + ] + }, + "id": 1612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes32", + "nameLocation": "8993:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1594, + "mutability": "mutable", + "name": "self", + "nameLocation": "9027:4:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9014:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1593, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9014:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1596, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9049:3:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9041:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9004:54:8" + }, + "returnParameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1599, + "mutability": "mutable", + "name": "ret", + "nameLocation": "9090:3:8", + "nodeType": "VariableDeclaration", + "scope": 1612, + "src": "9082:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1598, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9082:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9081:13:8" + }, + "scope": 2017, + "src": "8984:239:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1631, + "nodeType": "Block", + "src": "9557:247:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1622, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "9575:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3230", + "id": 1623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9581:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "9575:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1625, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1614, + "src": "9587:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9592:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9587:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9575:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1621, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9567:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9567:32:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1629, + "nodeType": "ExpressionStatement", + "src": "9567:32:8" + }, + { + "AST": { + "nativeSrc": "9618:180:8", + "nodeType": "YulBlock", + "src": "9618:180:8", + "statements": [ + { + "nativeSrc": "9632:156:8", + "nodeType": "YulAssignment", + "src": "9632:156:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "9674:4:8", + "nodeType": "YulIdentifier", + "src": "9674:4:8" + }, + { + "kind": "number", + "nativeSrc": "9680:2:8", + "nodeType": "YulLiteral", + "src": "9680:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9670:3:8", + "nodeType": "YulIdentifier", + "src": "9670:3:8" + }, + "nativeSrc": "9670:13:8", + "nodeType": "YulFunctionCall", + "src": "9670:13:8" + }, + { + "name": "idx", + "nativeSrc": "9685:3:8", + "nodeType": "YulIdentifier", + "src": "9685:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9666:3:8", + "nodeType": "YulIdentifier", + "src": "9666:3:8" + }, + "nativeSrc": "9666:23:8", + "nodeType": "YulFunctionCall", + "src": "9666:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9660:5:8", + "nodeType": "YulIdentifier", + "src": "9660:5:8" + }, + "nativeSrc": "9660:30:8", + "nodeType": "YulFunctionCall", + "src": "9660:30:8" + }, + { + "kind": "number", + "nativeSrc": "9708:66:8", + "nodeType": "YulLiteral", + "src": "9708:66:8", + "type": "", + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9639:3:8", + "nodeType": "YulIdentifier", + "src": "9639:3:8" + }, + "nativeSrc": "9639:149:8", + "nodeType": "YulFunctionCall", + "src": "9639:149:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "9632:3:8", + "nodeType": "YulIdentifier", + "src": "9632:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1616, + "isOffset": false, + "isSlot": false, + "src": "9685:3:8", + "valueSize": 1 + }, + { + "declaration": 1619, + "isOffset": false, + "isSlot": false, + "src": "9632:3:8", + "valueSize": 1 + }, + { + "declaration": 1614, + "isOffset": false, + "isSlot": false, + "src": "9674:4:8", + "valueSize": 1 + } + ], + "id": 1630, + "nodeType": "InlineAssembly", + "src": "9609:189:8" + } + ] + }, + "id": 1632, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytes20", + "nameLocation": "9455:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1614, + "mutability": "mutable", + "name": "self", + "nameLocation": "9489:4:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9476:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1613, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9476:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "idx", + "nameLocation": "9511:3:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9503:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9503:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9466:54:8" + }, + "returnParameters": { + "id": 1620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1619, + "mutability": "mutable", + "name": "ret", + "nameLocation": "9552:3:8", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "9544:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 1618, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "9544:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "src": "9543:13:8" + }, + "scope": 2017, + "src": "9446:358:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1659, + "nodeType": "Block", + "src": "10197:228:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1644, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "10215:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3332", + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10222:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10215:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1643, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10207:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10207:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1648, + "nodeType": "ExpressionStatement", + "src": "10207:18:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1650, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "10243:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1651, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "10249:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10243:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1653, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "10256:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10261:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10256:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10243:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10235:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10235:33:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "10235:33:8" + }, + { + "AST": { + "nativeSrc": "10287:132:8", + "nodeType": "YulBlock", + "src": "10287:132:8", + "statements": [ + { + "nativeSrc": "10301:47:8", + "nodeType": "YulVariableDeclaration", + "src": "10301:47:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10325:3:8", + "nodeType": "YulLiteral", + "src": "10325:3:8", + "type": "", + "value": "256" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10334:2:8", + "nodeType": "YulLiteral", + "src": "10334:2:8", + "type": "", + "value": "32" + }, + { + "name": "len", + "nativeSrc": "10338:3:8", + "nodeType": "YulIdentifier", + "src": "10338:3:8" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10330:3:8", + "nodeType": "YulIdentifier", + "src": "10330:3:8" + }, + "nativeSrc": "10330:12:8", + "nodeType": "YulFunctionCall", + "src": "10330:12:8" + } + ], + "functionName": { + "name": "exp", + "nativeSrc": "10321:3:8", + "nodeType": "YulIdentifier", + "src": "10321:3:8" + }, + "nativeSrc": "10321:22:8", + "nodeType": "YulFunctionCall", + "src": "10321:22:8" + }, + { + "kind": "number", + "nativeSrc": "10345:1:8", + "nodeType": "YulLiteral", + "src": "10345:1:8", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10317:3:8", + "nodeType": "YulIdentifier", + "src": "10317:3:8" + }, + "nativeSrc": "10317:30:8", + "nodeType": "YulFunctionCall", + "src": "10317:30:8" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10313:3:8", + "nodeType": "YulIdentifier", + "src": "10313:3:8" + }, + "nativeSrc": "10313:35:8", + "nodeType": "YulFunctionCall", + "src": "10313:35:8" + }, + "variables": [ + { + "name": "mask", + "nativeSrc": "10305:4:8", + "nodeType": "YulTypedName", + "src": "10305:4:8", + "type": "" + } + ] + }, + { + "nativeSrc": "10361:48:8", + "nodeType": "YulAssignment", + "src": "10361:48:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "10386:4:8", + "nodeType": "YulIdentifier", + "src": "10386:4:8" + }, + { + "kind": "number", + "nativeSrc": "10392:2:8", + "nodeType": "YulLiteral", + "src": "10392:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10382:3:8", + "nodeType": "YulIdentifier", + "src": "10382:3:8" + }, + "nativeSrc": "10382:13:8", + "nodeType": "YulFunctionCall", + "src": "10382:13:8" + }, + { + "name": "idx", + "nativeSrc": "10397:3:8", + "nodeType": "YulIdentifier", + "src": "10397:3:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10378:3:8", + "nodeType": "YulIdentifier", + "src": "10378:3:8" + }, + "nativeSrc": "10378:23:8", + "nodeType": "YulFunctionCall", + "src": "10378:23:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10372:5:8", + "nodeType": "YulIdentifier", + "src": "10372:5:8" + }, + "nativeSrc": "10372:30:8", + "nodeType": "YulFunctionCall", + "src": "10372:30:8" + }, + { + "name": "mask", + "nativeSrc": "10404:4:8", + "nodeType": "YulIdentifier", + "src": "10404:4:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10368:3:8", + "nodeType": "YulIdentifier", + "src": "10368:3:8" + }, + "nativeSrc": "10368:41:8", + "nodeType": "YulFunctionCall", + "src": "10368:41:8" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "10361:3:8", + "nodeType": "YulIdentifier", + "src": "10361:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "10397:3:8", + "valueSize": 1 + }, + { + "declaration": 1638, + "isOffset": false, + "isSlot": false, + "src": "10338:3:8", + "valueSize": 1 + }, + { + "declaration": 1641, + "isOffset": false, + "isSlot": false, + "src": "10361:3:8", + "valueSize": 1 + }, + { + "declaration": 1634, + "isOffset": false, + "isSlot": false, + "src": "10386:4:8", + "valueSize": 1 + } + ], + "id": 1658, + "nodeType": "InlineAssembly", + "src": "10278:141:8" + } + ] + }, + "id": 1660, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "readBytesN", + "nameLocation": "10075:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1634, + "mutability": "mutable", + "name": "self", + "nameLocation": "10108:4:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10095:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1633, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10095:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "idx", + "nameLocation": "10130:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10122:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1635, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10122:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1638, + "mutability": "mutable", + "name": "len", + "nameLocation": "10151:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10143:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10143:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10085:75:8" + }, + "returnParameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "ret", + "nameLocation": "10192:3:8", + "nodeType": "VariableDeclaration", + "scope": 1660, + "src": "10184:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1640, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10184:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10183:13:8" + }, + "scope": 2017, + "src": "10066:359:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1701, + "nodeType": "Block", + "src": "10500:548:8", + "statements": [ + { + "body": { + "id": 1685, + "nodeType": "Block", + "src": "10589:136:8", + "statements": [ + { + "AST": { + "nativeSrc": "10612:56:8", + "nodeType": "YulBlock", + "src": "10612:56:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10637:4:8", + "nodeType": "YulIdentifier", + "src": "10637:4:8" + }, + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10649:3:8", + "nodeType": "YulIdentifier", + "src": "10649:3:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10643:5:8", + "nodeType": "YulIdentifier", + "src": "10643:5:8" + }, + "nativeSrc": "10643:10:8", + "nodeType": "YulFunctionCall", + "src": "10643:10:8" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10630:6:8", + "nodeType": "YulIdentifier", + "src": "10630:6:8" + }, + "nativeSrc": "10630:24:8", + "nodeType": "YulFunctionCall", + "src": "10630:24:8" + }, + "nativeSrc": "10630:24:8", + "nodeType": "YulExpressionStatement", + "src": "10630:24:8" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10637:4:8", + "valueSize": 1 + }, + { + "declaration": 1664, + "isOffset": false, + "isSlot": false, + "src": "10649:3:8", + "valueSize": 1 + } + ], + "id": 1676, + "nodeType": "InlineAssembly", + "src": "10603:65:8" + }, + { + "expression": { + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1677, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1662, + "src": "10681:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10689:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10681:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1680, + "nodeType": "ExpressionStatement", + "src": "10681:10:8" + }, + { + "expression": { + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1681, + "name": "src", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1664, + "src": "10705:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "3332", + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10712:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10705:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1684, + "nodeType": "ExpressionStatement", + "src": "10705:9:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1669, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10567:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3332", + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10574:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10567:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1686, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 1674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1672, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10578:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "3332", + "id": 1673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10585:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "10578:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1675, + "nodeType": "ExpressionStatement", + "src": "10578:9:8" + }, + "nodeType": "ForStatement", + "src": "10560:165:8" + }, + { + "id": 1700, + "nodeType": "UncheckedBlock", + "src": "10767:275:8", + "statements": [ + { + "assignments": [ + 1688 + ], + "declarations": [ + { + "constant": false, + "id": 1688, + "mutability": "mutable", + "name": "mask", + "nameLocation": "10799:4:8", + "nodeType": "VariableDeclaration", + "scope": 1700, + "src": "10791:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10791:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1698, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "323536", + "id": 1689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10807:3:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3332", + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10815:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1691, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "10820:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10815:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1693, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10814:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10807:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1695, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10806:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10828:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10806:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10791:38:8" + }, + { + "AST": { + "nativeSrc": "10852:180:8", + "nodeType": "YulBlock", + "src": "10852:180:8", + "statements": [ + { + "nativeSrc": "10870:41:8", + "nodeType": "YulVariableDeclaration", + "src": "10870:41:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "10895:3:8", + "nodeType": "YulIdentifier", + "src": "10895:3:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10889:5:8", + "nodeType": "YulIdentifier", + "src": "10889:5:8" + }, + "nativeSrc": "10889:10:8", + "nodeType": "YulFunctionCall", + "src": "10889:10:8" + }, + { + "arguments": [ + { + "name": "mask", + "nativeSrc": "10905:4:8", + "nodeType": "YulIdentifier", + "src": "10905:4:8" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10901:3:8", + "nodeType": "YulIdentifier", + "src": "10901:3:8" + }, + "nativeSrc": "10901:9:8", + "nodeType": "YulFunctionCall", + "src": "10901:9:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10885:3:8", + "nodeType": "YulIdentifier", + "src": "10885:3:8" + }, + "nativeSrc": "10885:26:8", + "nodeType": "YulFunctionCall", + "src": "10885:26:8" + }, + "variables": [ + { + "name": "srcpart", + "nativeSrc": "10874:7:8", + "nodeType": "YulTypedName", + "src": "10874:7:8", + "type": "" + } + ] + }, + { + "nativeSrc": "10928:38:8", + "nodeType": "YulVariableDeclaration", + "src": "10928:38:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10954:4:8", + "nodeType": "YulIdentifier", + "src": "10954:4:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10948:5:8", + "nodeType": "YulIdentifier", + "src": "10948:5:8" + }, + "nativeSrc": "10948:11:8", + "nodeType": "YulFunctionCall", + "src": "10948:11:8" + }, + { + "name": "mask", + "nativeSrc": "10961:4:8", + "nodeType": "YulIdentifier", + "src": "10961:4:8" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10944:3:8", + "nodeType": "YulIdentifier", + "src": "10944:3:8" + }, + "nativeSrc": "10944:22:8", + "nodeType": "YulFunctionCall", + "src": "10944:22:8" + }, + "variables": [ + { + "name": "destpart", + "nativeSrc": "10932:8:8", + "nodeType": "YulTypedName", + "src": "10932:8:8", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dest", + "nativeSrc": "10990:4:8", + "nodeType": "YulIdentifier", + "src": "10990:4:8" + }, + { + "arguments": [ + { + "name": "destpart", + "nativeSrc": "10999:8:8", + "nodeType": "YulIdentifier", + "src": "10999:8:8" + }, + { + "name": "srcpart", + "nativeSrc": "11009:7:8", + "nodeType": "YulIdentifier", + "src": "11009:7:8" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "10996:2:8", + "nodeType": "YulIdentifier", + "src": "10996:2:8" + }, + "nativeSrc": "10996:21:8", + "nodeType": "YulFunctionCall", + "src": "10996:21:8" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10983:6:8", + "nodeType": "YulIdentifier", + "src": "10983:6:8" + }, + "nativeSrc": "10983:35:8", + "nodeType": "YulFunctionCall", + "src": "10983:35:8" + }, + "nativeSrc": "10983:35:8", + "nodeType": "YulExpressionStatement", + "src": "10983:35:8" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10954:4:8", + "valueSize": 1 + }, + { + "declaration": 1662, + "isOffset": false, + "isSlot": false, + "src": "10990:4:8", + "valueSize": 1 + }, + { + "declaration": 1688, + "isOffset": false, + "isSlot": false, + "src": "10905:4:8", + "valueSize": 1 + }, + { + "declaration": 1688, + "isOffset": false, + "isSlot": false, + "src": "10961:4:8", + "valueSize": 1 + }, + { + "declaration": 1664, + "isOffset": false, + "isSlot": false, + "src": "10895:3:8", + "valueSize": 1 + } + ], + "id": 1699, + "nodeType": "InlineAssembly", + "src": "10843:189:8" + } + ] + } + ] + }, + "id": 1702, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "memcpy", + "nameLocation": "10440:6:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1662, + "mutability": "mutable", + "name": "dest", + "nameLocation": "10455:4:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10447:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10447:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1664, + "mutability": "mutable", + "name": "src", + "nameLocation": "10469:3:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10461:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10461:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1666, + "mutability": "mutable", + "name": "len", + "nameLocation": "10482:3:8", + "nodeType": "VariableDeclaration", + "scope": 1702, + "src": "10474:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10474:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10446:40:8" + }, + "returnParameters": { + "id": 1668, + "nodeType": "ParameterList", + "parameters": [], + "src": "10500:0:8" + }, + "scope": 2017, + "src": "10431:617:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 1744, + "nodeType": "Block", + "src": "11407:302:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1714, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1706, + "src": "11425:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1715, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11434:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11425:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1717, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "11441:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11446:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11441:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11425:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1713, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11417:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11417:36:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1721, + "nodeType": "ExpressionStatement", + "src": "11417:36:8" + }, + { + "assignments": [ + 1723 + ], + "declarations": [ + { + "constant": false, + "id": 1723, + "mutability": "mutable", + "name": "ret", + "nameLocation": "11477:3:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11464:16:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1722, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11464:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1728, + "initialValue": { + "arguments": [ + { + "id": 1726, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11493:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11483:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1724, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11487:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11483:14:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11464:33:8" + }, + { + "assignments": [ + 1730 + ], + "declarations": [ + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "dest", + "nameLocation": "11515:4:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11507:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11507:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1731, + "nodeType": "VariableDeclarationStatement", + "src": "11507:12:8" + }, + { + "assignments": [ + 1733 + ], + "declarations": [ + { + "constant": false, + "id": 1733, + "mutability": "mutable", + "name": "src", + "nameLocation": "11537:3:8", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "11529:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1734, + "nodeType": "VariableDeclarationStatement", + "src": "11529:11:8" + }, + { + "AST": { + "nativeSrc": "11560:90:8", + "nodeType": "YulBlock", + "src": "11560:90:8", + "statements": [ + { + "nativeSrc": "11574:20:8", + "nodeType": "YulAssignment", + "src": "11574:20:8", + "value": { + "arguments": [ + { + "name": "ret", + "nativeSrc": "11586:3:8", + "nodeType": "YulIdentifier", + "src": "11586:3:8" + }, + { + "kind": "number", + "nativeSrc": "11591:2:8", + "nodeType": "YulLiteral", + "src": "11591:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11582:3:8", + "nodeType": "YulIdentifier", + "src": "11582:3:8" + }, + "nativeSrc": "11582:12:8", + "nodeType": "YulFunctionCall", + "src": "11582:12:8" + }, + "variableNames": [ + { + "name": "dest", + "nativeSrc": "11574:4:8", + "nodeType": "YulIdentifier", + "src": "11574:4:8" + } + ] + }, + { + "nativeSrc": "11607:33:8", + "nodeType": "YulAssignment", + "src": "11607:33:8", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "self", + "nativeSrc": "11622:4:8", + "nodeType": "YulIdentifier", + "src": "11622:4:8" + }, + { + "kind": "number", + "nativeSrc": "11628:2:8", + "nodeType": "YulLiteral", + "src": "11628:2:8", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11618:3:8", + "nodeType": "YulIdentifier", + "src": "11618:3:8" + }, + "nativeSrc": "11618:13:8", + "nodeType": "YulFunctionCall", + "src": "11618:13:8" + }, + { + "name": "offset", + "nativeSrc": "11633:6:8", + "nodeType": "YulIdentifier", + "src": "11633:6:8" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11614:3:8", + "nodeType": "YulIdentifier", + "src": "11614:3:8" + }, + "nativeSrc": "11614:26:8", + "nodeType": "YulFunctionCall", + "src": "11614:26:8" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "11607:3:8", + "nodeType": "YulIdentifier", + "src": "11607:3:8" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1730, + "isOffset": false, + "isSlot": false, + "src": "11574:4:8", + "valueSize": 1 + }, + { + "declaration": 1706, + "isOffset": false, + "isSlot": false, + "src": "11633:6:8", + "valueSize": 1 + }, + { + "declaration": 1723, + "isOffset": false, + "isSlot": false, + "src": "11586:3:8", + "valueSize": 1 + }, + { + "declaration": 1704, + "isOffset": false, + "isSlot": false, + "src": "11622:4:8", + "valueSize": 1 + }, + { + "declaration": 1733, + "isOffset": false, + "isSlot": false, + "src": "11607:3:8", + "valueSize": 1 + } + ], + "id": 1735, + "nodeType": "InlineAssembly", + "src": "11551:99:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1737, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "11666:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1738, + "name": "src", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1733, + "src": "11672:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1739, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "11677:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1736, + "name": "memcpy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "11659:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) pure" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11659:22:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1741, + "nodeType": "ExpressionStatement", + "src": "11659:22:8" + }, + { + "expression": { + "id": 1742, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1723, + "src": "11699:3:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1712, + "id": 1743, + "nodeType": "Return", + "src": "11692:10:8" + } + ] + }, + "id": 1745, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "substring", + "nameLocation": "11282:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "self", + "nameLocation": "11314:4:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11301:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1703, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11301:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1706, + "mutability": "mutable", + "name": "offset", + "nameLocation": "11336:6:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11328:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11328:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1708, + "mutability": "mutable", + "name": "len", + "nameLocation": "11360:3:8", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11352:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11352:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11291:78:8" + }, + "returnParameters": { + "id": 1712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1711, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "11393:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1710, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11393:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11392:14:8" + }, + "scope": 2017, + "src": "11273:436:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "id": 1748, + "mutability": "constant", + "name": "base32HexTable", + "nameLocation": "11852:14:8", + "nodeType": "VariableDeclaration", + "scope": 2017, + "src": "11837:187:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1746, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11837:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": { + "hexValue": "00010203040506070809ffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1fffffffffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11877:147:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e82410dbf01e63aa72c1e18aee3deb28d15751fdce22e55714ad62f7fde606a", + "typeString": "literal_string hex\"00010203040506070809ffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1fffffffffffffffffffff0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 1971, + "nodeType": "Block", + "src": "12443:1318:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1761, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12461:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3532", + "id": 1762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12468:2:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "src": "12461:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1760, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12453:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12453:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1765, + "nodeType": "ExpressionStatement", + "src": "12453:18:8" + }, + { + "assignments": [ + 1767 + ], + "declarations": [ + { + "constant": false, + "id": 1767, + "mutability": "mutable", + "name": "ret", + "nameLocation": "12490:3:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12482:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1766, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12482:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1769, + "initialValue": { + "hexValue": "30", + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12496:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12482:15:8" + }, + { + "assignments": [ + 1771 + ], + "declarations": [ + { + "constant": false, + "id": 1771, + "mutability": "mutable", + "name": "decoded", + "nameLocation": "12513:7:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12507:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1770, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12507:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 1772, + "nodeType": "VariableDeclarationStatement", + "src": "12507:13:8" + }, + { + "body": { + "id": 1841, + "nodeType": "Block", + "src": "12564:324:8", + "statements": [ + { + "assignments": [ + 1784 + ], + "declarations": [ + { + "constant": false, + "id": 1784, + "mutability": "mutable", + "name": "char", + "nameLocation": "12585:4:8", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "12578:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 1783, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "12578:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "id": 1790, + "initialValue": { + "baseExpression": { + "id": 1785, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1751, + "src": "12592:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1789, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1786, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "12597:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1787, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12603:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12597:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12592:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12578:27:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1792, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12627:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30783330", + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12635:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "12627:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1795, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12643:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783741", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12651:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_122_by_1", + "typeString": "int_const 122" + }, + "value": "0x7A" + }, + "src": "12643:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12627:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1791, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12619:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1800, + "nodeType": "ExpressionStatement", + "src": "12619:37:8" + }, + { + "expression": { + "id": 1816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1801, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12670:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 1804, + "name": "base32HexTable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1748, + "src": "12686:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1814, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1809, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "12715:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12709:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1807, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12709:5:8", + "typeDescriptions": {} + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12709:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12701:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12701:7:8", + "typeDescriptions": {} + } + }, + "id": 1811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12701:20:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "30783330", + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12724:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "12701:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12686:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12680:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1802, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "12680:5:8", + "typeDescriptions": {} + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12680:50:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "12670:60:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 1817, + "nodeType": "ExpressionStatement", + "src": "12670:60:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1819, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12752:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "30783230", + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12763:4:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "12752:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12744:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12744:24:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1823, + "nodeType": "ExpressionStatement", + "src": "12744:24:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1824, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12786:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1825, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12791:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12797:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12791:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12786:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1831, + "nodeType": "IfStatement", + "src": "12782:56:8", + "trueBody": { + "id": 1830, + "nodeType": "Block", + "src": "12800:38:8", + "statements": [ + { + "id": 1829, + "nodeType": "Break", + "src": "12818:5:8" + } + ] + } + }, + { + "expression": { + "id": 1839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1832, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "12851:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1833, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "12858:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "35", + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12865:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "12858:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1836, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12857:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 1837, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "12870:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "12857:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12851:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1840, + "nodeType": "ExpressionStatement", + "src": "12851:26:8" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1777, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12550:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1778, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12554:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12550:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1842, + "initializationExpression": { + "assignments": [ + 1774 + ], + "declarations": [ + { + "constant": false, + "id": 1774, + "mutability": "mutable", + "name": "i", + "nameLocation": "12543:1:8", + "nodeType": "VariableDeclaration", + "scope": 1842, + "src": "12535:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12535:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1776, + "initialValue": { + "hexValue": "30", + "id": 1775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12547:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12535:13:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12559:3:8", + "subExpression": { + "id": 1780, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "12559:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1782, + "nodeType": "ExpressionStatement", + "src": "12559:3:8" + }, + "nodeType": "ForStatement", + "src": "12530:358:8" + }, + { + "assignments": [ + 1844 + ], + "declarations": [ + { + "constant": false, + "id": 1844, + "mutability": "mutable", + "name": "bitlen", + "nameLocation": "12906:6:8", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "12898:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12898:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1848, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1845, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12915:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "35", + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12921:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "12915:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12898:24:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1849, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "12936:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12942:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "12936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12947:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12936:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1864, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13063:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13069:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13063:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "32", + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13074:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13063:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1886, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13215:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13221:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "34", + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13226:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13215:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1908, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13369:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13375:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13369:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "35", + "id": 1911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13380:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "13369:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1930, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "13523:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "38", + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13529:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "13523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "37", + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13534:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "13523:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1955, + "nodeType": "Block", + "src": "13674:33:8", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1952, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "13688:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13688:8:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1954, + "nodeType": "ExpressionStatement", + "src": "13688:8:8" + } + ] + }, + "id": 1956, + "nodeType": "IfStatement", + "src": "13519:188:8", + "trueBody": { + "id": 1951, + "nodeType": "Block", + "src": "13537:131:8", + "statements": [ + { + "expression": { + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1935, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13599:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1936, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13606:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "32", + "id": 1937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13613:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13606:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1939, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13605:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1940, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "33", + "id": 1941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13630:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13619:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1943, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13618:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13605:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13599:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1946, + "nodeType": "ExpressionStatement", + "src": "13599:33:8" + }, + { + "expression": { + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1947, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13646:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "33", + "id": 1948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13656:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13646:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1950, + "nodeType": "ExpressionStatement", + "src": "13646:11:8" + } + ] + } + }, + "id": 1957, + "nodeType": "IfStatement", + "src": "13365:342:8", + "trueBody": { + "id": 1929, + "nodeType": "Block", + "src": "13383:130:8", + "statements": [ + { + "expression": { + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1913, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13444:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1914, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13451:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "34", + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13458:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13451:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1917, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13450:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1918, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13464:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "31", + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13475:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13464:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1921, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13463:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13450:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13444:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1924, + "nodeType": "ExpressionStatement", + "src": "13444:33:8" + }, + { + "expression": { + "id": 1927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1925, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13491:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 1926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13501:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13491:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1928, + "nodeType": "ExpressionStatement", + "src": "13491:11:8" + } + ] + } + }, + "id": 1958, + "nodeType": "IfStatement", + "src": "13211:496:8", + "trueBody": { + "id": 1907, + "nodeType": "Block", + "src": "13229:130:8", + "statements": [ + { + "expression": { + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1891, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13290:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1892, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13297:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "31", + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13304:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "13297:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1895, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13296:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1896, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13310:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "34", + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13321:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13310:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1899, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13309:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13296:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13290:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1902, + "nodeType": "ExpressionStatement", + "src": "13290:33:8" + }, + { + "expression": { + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1903, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13337:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "34", + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13347:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "13337:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1906, + "nodeType": "ExpressionStatement", + "src": "13337:11:8" + } + ] + } + }, + "id": 1959, + "nodeType": "IfStatement", + "src": "13059:648:8", + "trueBody": { + "id": 1885, + "nodeType": "Block", + "src": "13077:128:8", + "statements": [ + { + "expression": { + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1869, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13136:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1870, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13143:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "33", + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13150:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "13143:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1873, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13142:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1874, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13156:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "32", + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13167:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13156:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 1877, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13155:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13142:27:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13136:33:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1880, + "nodeType": "ExpressionStatement", + "src": "13136:33:8" + }, + { + "expression": { + "id": 1883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1881, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13183:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "32", + "id": 1882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13193:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13183:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1884, + "nodeType": "ExpressionStatement", + "src": "13183:11:8" + } + ] + } + }, + "id": 1960, + "nodeType": "IfStatement", + "src": "12932:775:8", + "trueBody": { + "id": 1863, + "nodeType": "Block", + "src": "12950:103:8", + "statements": [ + { + "expression": { + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1854, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13016:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1855, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13023:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "35", + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13030:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "13023:8:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1858, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13022:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "id": 1859, + "name": "decoded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "13035:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13022:20:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13016:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1862, + "nodeType": "ExpressionStatement", + "src": "13016:26:8" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1963, + "name": "ret", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "13732:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "323536", + "id": 1964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13740:3:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1965, + "name": "bitlen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1844, + "src": "13746:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13740:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1967, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13739:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13732:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13724:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 1961, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13724:7:8", + "typeDescriptions": {} + } + }, + "id": 1969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13724:30:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1759, + "id": 1970, + "nodeType": "Return", + "src": "13717:37:8" + } + ] + }, + "documentation": { + "id": 1749, + "nodeType": "StructuredDocumentation", + "src": "12031:271:8", + "text": " @dev Decodes unpadded base32 data of up to one word in length.\n @param self The data to decode.\n @param off Offset into the string to start at.\n @param len Number of characters to decode.\n @return The decoded data, left aligned." + }, + "id": 1972, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "base32HexDecodeWord", + "nameLocation": "12316:19:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1751, + "mutability": "mutable", + "name": "self", + "nameLocation": "12358:4:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12345:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1750, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12345:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1753, + "mutability": "mutable", + "name": "off", + "nameLocation": "12380:3:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12372:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12372:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "len", + "nameLocation": "12401:3:8", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12393:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12393:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12335:75:8" + }, + "returnParameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1758, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1972, + "src": "12434:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12434:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "12433:9:8" + }, + "scope": 2017, + "src": "12307:1454:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2015, + "nodeType": "Block", + "src": "14263:190:8", + "statements": [ + { + "body": { + "id": 2007, + "nodeType": "Block", + "src": "14321:92:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1998, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1975, + "src": "14339:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2000, + "indexExpression": { + "id": 1999, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14344:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14339:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2001, + "name": "needle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1981, + "src": "14352:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "14339:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2006, + "nodeType": "IfStatement", + "src": "14335:68:8", + "trueBody": { + "id": 2005, + "nodeType": "Block", + "src": "14360:43:8", + "statements": [ + { + "expression": { + "id": 2003, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14385:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1985, + "id": 2004, + "nodeType": "Return", + "src": "14378:10:8" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1990, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14297:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1991, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "14303:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1992, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "14309:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14303:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14297:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2008, + "initializationExpression": { + "assignments": [ + 1987 + ], + "declarations": [ + { + "constant": false, + "id": 1987, + "mutability": "mutable", + "name": "idx", + "nameLocation": "14286:3:8", + "nodeType": "VariableDeclaration", + "scope": 2008, + "src": "14278:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14278:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1989, + "initialValue": { + "id": 1988, + "name": "off", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "14292:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14278:17:8" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14314:5:8", + "subExpression": { + "id": 1995, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "14314:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1997, + "nodeType": "ExpressionStatement", + "src": "14314:5:8" + }, + "nodeType": "ForStatement", + "src": "14273:140:8" + }, + { + "expression": { + "expression": { + "arguments": [ + { + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14434:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2010, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14434:7:8", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 2009, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "14429:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14429:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14443:3:8", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "14429:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1985, + "id": 2014, + "nodeType": "Return", + "src": "14422:24:8" + } + ] + }, + "documentation": { + "id": 1973, + "nodeType": "StructuredDocumentation", + "src": "13767:347:8", + "text": " @dev Finds the first occurrence of the byte `needle` in `self`.\n @param self The string to search\n @param off The offset to start searching at\n @param len The number of bytes to search\n @param needle The byte to search for\n @return The offset of `needle` in `self`, or 2**256-1 if it was not found." + }, + "id": 2016, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "find", + "nameLocation": "14128:4:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1975, + "mutability": "mutable", + "name": "self", + "nameLocation": "14155:4:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14142:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1974, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14142:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1977, + "mutability": "mutable", + "name": "off", + "nameLocation": "14177:3:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14169:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14169:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "len", + "nameLocation": "14198:3:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14190:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1978, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14190:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1981, + "mutability": "mutable", + "name": "needle", + "nameLocation": "14218:6:8", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14211:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 1980, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "14211:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "src": "14132:98:8" + }, + "returnParameters": { + "id": 1985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1984, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2016, + "src": "14254:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14254:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14253:9:8" + }, + "scope": 2017, + "src": "14119:334:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2018, + "src": "56:14399:8", + "usedErrors": [ + 1089 + ], + "usedEvents": [] + } + ], + "src": "31:14425:8" + }, + "id": 8 + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol", + "exportedSymbols": { + "IMetadataService": [ + 2027 + ] + }, + "id": 2028, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2019, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IMetadataService", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2027, + "linearizedBaseContracts": [ + 2027 + ], + "name": "IMetadataService", + "nameLocation": "67:16:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "0e89341c", + "id": 2026, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "99:3:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2021, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "103:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2020, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "103:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "102:9:9" + }, + "returnParameters": { + "id": 2025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2024, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "135:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "135:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "134:15:9" + }, + "scope": 2027, + "src": "90:60:9", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2028, + "src": "57:95:9", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:122:9" + }, + "id": 9 + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "exportedSymbols": { + "CANNOT_APPROVE": [ + 2055 + ], + "CANNOT_BURN_FUSES": [ + 2040 + ], + "CANNOT_CREATE_SUBDOMAIN": [ + 2052 + ], + "CANNOT_SET_RESOLVER": [ + 2046 + ], + "CANNOT_SET_TTL": [ + 2049 + ], + "CANNOT_TRANSFER": [ + 2043 + ], + "CANNOT_UNWRAP": [ + 2037 + ], + "CAN_DO_EVERYTHING": [ + 2073 + ], + "CAN_EXTEND_EXPIRY": [ + 2070 + ], + "ENS": [ + 1030 + ], + "IBaseRegistrar": [ + 893 + ], + "IERC1155": [ + 2541 + ], + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ], + "IMetadataService": [ + 2027 + ], + "INameWrapper": [ + 2401 + ], + "INameWrapperUpgrade": [ + 2419 + ], + "IS_DOT_ETH": [ + 2065 + ], + "PARENT_CANNOT_CONTROL": [ + 2060 + ], + "PARENT_CONTROLLED_FUSES": [ + 2076 + ], + "USER_SETTABLE_FUSES": [ + 2079 + ] + }, + "id": 2402, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2029, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:10" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "../registry/ENS.sol", + "id": 2030, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 1031, + "src": "57:29:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol", + "file": "../ethregistrar/IBaseRegistrar.sol", + "id": 2031, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 894, + "src": "87:44:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "file": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "id": 2032, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2542, + "src": "132:60:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol", + "file": "./IMetadataService.sol", + "id": 2033, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2028, + "src": "193:32:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol", + "file": "./INameWrapperUpgrade.sol", + "id": 2034, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2420, + "src": "226:35:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "constant": true, + "id": 2037, + "mutability": "constant", + "name": "CANNOT_UNWRAP", + "nameLocation": "279:13:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "263:33:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2035, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "263:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "31", + "id": 2036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "295:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2040, + "mutability": "constant", + "name": "CANNOT_BURN_FUSES", + "nameLocation": "314:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "298:37:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2038, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "298:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "32", + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "334:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2043, + "mutability": "constant", + "name": "CANNOT_TRANSFER", + "nameLocation": "353:15:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "337:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2041, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "337:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "34", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "371:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2046, + "mutability": "constant", + "name": "CANNOT_SET_RESOLVER", + "nameLocation": "390:19:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "374:39:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2044, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "374:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "38", + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "412:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2049, + "mutability": "constant", + "name": "CANNOT_SET_TTL", + "nameLocation": "431:14:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "415:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2047, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "415:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3136", + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2052, + "mutability": "constant", + "name": "CANNOT_CREATE_SUBDOMAIN", + "nameLocation": "468:23:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "452:44:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2050, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "452:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3332", + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "494:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2055, + "mutability": "constant", + "name": "CANNOT_APPROVE", + "nameLocation": "514:14:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "498:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2053, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "498:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "3634", + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "531:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_64_by_1", + "typeString": "int_const 64" + }, + "value": "64" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2060, + "mutability": "constant", + "name": "PARENT_CANNOT_CONTROL", + "nameLocation": "619:21:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "603:47:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2056, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "603:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + }, + "id": 2059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "643:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "648:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "643:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_65536_by_1", + "typeString": "int_const 65536" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2065, + "mutability": "constant", + "name": "IS_DOT_ETH", + "nameLocation": "668:10:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "652:36:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2061, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "652:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_131072_by_1", + "typeString": "int_const 131072" + }, + "id": 2064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "681:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3137", + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "686:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "src": "681:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_131072_by_1", + "typeString": "int_const 131072" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2070, + "mutability": "constant", + "name": "CAN_EXTEND_EXPIRY", + "nameLocation": "706:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "690:43:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2066, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "690:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_262144_by_1", + "typeString": "int_const 262144" + }, + "id": 2069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3138", + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "731:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "726:7:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_262144_by_1", + "typeString": "int_const 262144" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2073, + "mutability": "constant", + "name": "CAN_DO_EVERYTHING", + "nameLocation": "751:17:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "735:37:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2071, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "735:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30", + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "771:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2076, + "mutability": "constant", + "name": "PARENT_CONTROLLED_FUSES", + "nameLocation": "790:23:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "774:52:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2074, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "774:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30784646464630303030", + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "816:10:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294901760_by_1", + "typeString": "int_const 4294901760" + }, + "value": "0xFFFF0000" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2079, + "mutability": "constant", + "name": "USER_SETTABLE_FUSES", + "nameLocation": "879:19:10", + "nodeType": "VariableDeclaration", + "scope": 2402, + "src": "863:48:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2077, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "863:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "value": { + "hexValue": "30784646464446464646", + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "901:10:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4294836223_by_1", + "typeString": "int_const 4294836223" + }, + "value": "0xFFFDFFFF" + }, + "visibility": "internal" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2080, + "name": "IERC1155", + "nameLocations": [ + "940:8:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2541, + "src": "940:8:10" + }, + "id": 2081, + "nodeType": "InheritanceSpecifier", + "src": "940:8:10" + } + ], + "canonicalName": "INameWrapper", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2401, + "linearizedBaseContracts": [ + 2401, + 2541, + 3023 + ], + "name": "INameWrapper", + "nameLocation": "924:12:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "8ce7013e8abebc55c3890a68f5a27c67c3f7efa64e584de5fb22363c606fd340", + "id": 2093, + "name": "NameWrapped", + "nameLocation": "961:11:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2083, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "998:4:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "982:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2082, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "982:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2085, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "1018:4:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1012:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2084, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1012:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1040:5:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1032:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1032:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2089, + "indexed": false, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "1062:5:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1055:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2088, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1055:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2091, + "indexed": false, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "1084:6:10", + "nodeType": "VariableDeclaration", + "scope": 2093, + "src": "1077:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2090, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1077:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "972:124:10" + }, + "src": "955:142:10" + }, + { + "anonymous": false, + "eventSelector": "ee2ba1195c65bcf218a83d874335c6bf9d9067b4c672f3c3bf16cf40de7586c4", + "id": 2099, + "name": "NameUnwrapped", + "nameLocation": "1109:13:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2095, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1139:4:10", + "nodeType": "VariableDeclaration", + "scope": 2099, + "src": "1123:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2094, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1123:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2097, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1153:5:10", + "nodeType": "VariableDeclaration", + "scope": 2099, + "src": "1145:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1145:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1122:37:10" + }, + "src": "1103:57:10" + }, + { + "anonymous": false, + "eventSelector": "39873f00c80f4f94b7bd1594aebcf650f003545b74824d57ddf4939e3ff3a34b", + "id": 2105, + "name": "FusesSet", + "nameLocation": "1172:8:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2101, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1197:4:10", + "nodeType": "VariableDeclaration", + "scope": 2105, + "src": "1181:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1181:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2103, + "indexed": false, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "1210:5:10", + "nodeType": "VariableDeclaration", + "scope": 2105, + "src": "1203:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2102, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1203:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "1180:36:10" + }, + "src": "1166:51:10" + }, + { + "anonymous": false, + "eventSelector": "f675815a0817338f93a7da433f6bd5f5542f1029b11b455191ac96c7f6a9b132", + "id": 2111, + "name": "ExpiryExtended", + "nameLocation": "1228:14:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 2110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2107, + "indexed": true, + "mutability": "mutable", + "name": "node", + "nameLocation": "1259:4:10", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "1243:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2106, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1243:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2109, + "indexed": false, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "1272:6:10", + "nodeType": "VariableDeclaration", + "scope": 2111, + "src": "1265:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2108, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1265:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1242:37:10" + }, + "src": "1222:58:10" + }, + { + "functionSelector": "3f15457f", + "id": 2117, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ens", + "nameLocation": "1295:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1298:2:10" + }, + "returnParameters": { + "id": 2116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2115, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2117, + "src": "1324:3:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 2114, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2113, + "name": "ENS", + "nameLocations": [ + "1324:3:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "1324:3:10" + }, + "referencedDeclaration": 1030, + "src": "1324:3:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "internal" + } + ], + "src": "1323:5:10" + }, + "scope": 2401, + "src": "1286:43:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "2b20e397", + "id": 2123, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registrar", + "nameLocation": "1344:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2118, + "nodeType": "ParameterList", + "parameters": [], + "src": "1353:2:10" + }, + "returnParameters": { + "id": 2122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2121, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2123, + "src": "1379:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBaseRegistrar_$893", + "typeString": "contract IBaseRegistrar" + }, + "typeName": { + "id": 2120, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2119, + "name": "IBaseRegistrar", + "nameLocations": [ + "1379:14:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 893, + "src": "1379:14:10" + }, + "referencedDeclaration": 893, + "src": "1379:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBaseRegistrar_$893", + "typeString": "contract IBaseRegistrar" + } + }, + "visibility": "internal" + } + ], + "src": "1378:16:10" + }, + "scope": 2401, + "src": "1335:60:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "53095467", + "id": 2129, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "metadataService", + "nameLocation": "1410:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2124, + "nodeType": "ParameterList", + "parameters": [], + "src": "1425:2:10" + }, + "returnParameters": { + "id": 2128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2127, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2129, + "src": "1451:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + }, + "typeName": { + "id": 2126, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2125, + "name": "IMetadataService", + "nameLocations": [ + "1451:16:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2027, + "src": "1451:16:10" + }, + "referencedDeclaration": 2027, + "src": "1451:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + } + }, + "visibility": "internal" + } + ], + "src": "1450:18:10" + }, + "scope": 2401, + "src": "1401:68:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "20c38e2b", + "id": 2136, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "names", + "nameLocation": "1484:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2131, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2136, + "src": "1490:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1490:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1489:9:10" + }, + "returnParameters": { + "id": 2135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2134, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2136, + "src": "1522:12:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2133, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1522:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1521:14:10" + }, + "scope": 2401, + "src": "1475:61:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "06fdde03", + "id": 2141, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1551:4:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2137, + "nodeType": "ParameterList", + "parameters": [], + "src": "1555:2:10" + }, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2139, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2141, + "src": "1581:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2138, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1581:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1580:15:10" + }, + "scope": 2401, + "src": "1542:54:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1f4e1504", + "id": 2147, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "upgradeContract", + "nameLocation": "1611:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2142, + "nodeType": "ParameterList", + "parameters": [], + "src": "1626:2:10" + }, + "returnParameters": { + "id": 2146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2145, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2147, + "src": "1652:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + }, + "typeName": { + "id": 2144, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2143, + "name": "INameWrapperUpgrade", + "nameLocations": [ + "1652:19:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2419, + "src": "1652:19:10" + }, + "referencedDeclaration": 2419, + "src": "1652:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + } + }, + "visibility": "internal" + } + ], + "src": "1651:21:10" + }, + "scope": 2401, + "src": "1602:71:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3022 + ], + "functionSelector": "01ffc9a7", + "id": 2154, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1688:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2149, + "mutability": "mutable", + "name": "interfaceID", + "nameLocation": "1713:11:10", + "nodeType": "VariableDeclaration", + "scope": 2154, + "src": "1706:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2148, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1706:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1705:20:10" + }, + "returnParameters": { + "id": 2153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2152, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2154, + "src": "1749:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2151, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1749:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1748:6:10" + }, + "scope": 2401, + "src": "1679:76:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "eb8ae530", + "id": 2163, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrap", + "nameLocation": "1770:4:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2156, + "mutability": "mutable", + "name": "name", + "nameLocation": "1799:4:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1784:19:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2155, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1784:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2158, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "1821:12:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1813:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1813:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2160, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "1851:8:10", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "1843:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1843:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1774:91:10" + }, + "returnParameters": { + "id": 2162, + "nodeType": "ParameterList", + "parameters": [], + "src": "1874:0:10" + }, + "scope": 2401, + "src": "1761:114:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "8cf8b41e", + "id": 2176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrapETH2LD", + "nameLocation": "1890:10:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2165, + "mutability": "mutable", + "name": "label", + "nameLocation": "1926:5:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1910:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2164, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1910:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2167, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "1949:12:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1941:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1941:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2169, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "1978:20:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "1971:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2168, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1971:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2171, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2016:8:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "2008:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2008:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1900:130:10" + }, + "returnParameters": { + "id": 2175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2174, + "mutability": "mutable", + "name": "expires", + "nameLocation": "2056:7:10", + "nodeType": "VariableDeclaration", + "scope": 2176, + "src": "2049:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2173, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2049:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2048:16:10" + }, + "scope": 2401, + "src": "1881:184:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "a4014982", + "id": 2191, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registerAndWrapETH2LD", + "nameLocation": "2080:21:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2178, + "mutability": "mutable", + "name": "label", + "nameLocation": "2127:5:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2111:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2177, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2111:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2180, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "2150:12:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2142:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2142:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2182, + "mutability": "mutable", + "name": "duration", + "nameLocation": "2180:8:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2172:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2172:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2184, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "2206:8:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2198:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2198:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2186, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "2231:20:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2224:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2185, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2224:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "2101:156:10" + }, + "returnParameters": { + "id": 2190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2189, + "mutability": "mutable", + "name": "registrarExpiry", + "nameLocation": "2284:15:10", + "nodeType": "VariableDeclaration", + "scope": 2191, + "src": "2276:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2276:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2275:25:10" + }, + "scope": 2401, + "src": "2071:230:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c475abff", + "id": 2200, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renew", + "nameLocation": "2316:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2193, + "mutability": "mutable", + "name": "labelHash", + "nameLocation": "2339:9:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2331:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2331:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2195, + "mutability": "mutable", + "name": "duration", + "nameLocation": "2366:8:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2358:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2358:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2321:59:10" + }, + "returnParameters": { + "id": 2199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2198, + "mutability": "mutable", + "name": "expires", + "nameLocation": "2407:7:10", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "2399:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2399:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2398:17:10" + }, + "scope": 2401, + "src": "2307:109:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d8c9921a", + "id": 2209, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unwrap", + "nameLocation": "2431:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2202, + "mutability": "mutable", + "name": "node", + "nameLocation": "2446:4:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2438:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2438:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2204, + "mutability": "mutable", + "name": "label", + "nameLocation": "2460:5:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2452:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2452:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2206, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2475:5:10", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "2467:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2467:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2437:44:10" + }, + "returnParameters": { + "id": 2208, + "nodeType": "ParameterList", + "parameters": [], + "src": "2490:0:10" + }, + "scope": 2401, + "src": "2422:69:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "8b4dfa75", + "id": 2218, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unwrapETH2LD", + "nameLocation": "2506:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2211, + "mutability": "mutable", + "name": "label", + "nameLocation": "2536:5:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2528:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2528:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2213, + "mutability": "mutable", + "name": "newRegistrant", + "nameLocation": "2559:13:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2551:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2551:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2215, + "mutability": "mutable", + "name": "newController", + "nameLocation": "2590:13:10", + "nodeType": "VariableDeclaration", + "scope": 2218, + "src": "2582:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2582:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2518:91:10" + }, + "returnParameters": { + "id": 2217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2618:0:10" + }, + "scope": 2401, + "src": "2497:122:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c93ab3fd", + "id": 2225, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "upgrade", + "nameLocation": "2634:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2220, + "mutability": "mutable", + "name": "name", + "nameLocation": "2657:4:10", + "nodeType": "VariableDeclaration", + "scope": 2225, + "src": "2642:19:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2219, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2642:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2222, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "2678:9:10", + "nodeType": "VariableDeclaration", + "scope": 2225, + "src": "2663:24:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2221, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2663:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2641:47:10" + }, + "returnParameters": { + "id": 2224, + "nodeType": "ParameterList", + "parameters": [], + "src": "2697:0:10" + }, + "scope": 2401, + "src": "2625:73:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "402906fc", + "id": 2234, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setFuses", + "nameLocation": "2713:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2227, + "mutability": "mutable", + "name": "node", + "nameLocation": "2739:4:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2731:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2731:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2229, + "mutability": "mutable", + "name": "ownerControlledFuses", + "nameLocation": "2760:20:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2753:27:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2228, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2753:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "2721:65:10" + }, + "returnParameters": { + "id": 2233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2232, + "mutability": "mutable", + "name": "newFuses", + "nameLocation": "2812:8:10", + "nodeType": "VariableDeclaration", + "scope": 2234, + "src": "2805:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2231, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2805:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "2804:17:10" + }, + "scope": 2401, + "src": "2704:118:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "33c69ea9", + "id": 2245, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setChildFuses", + "nameLocation": "2837:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2236, + "mutability": "mutable", + "name": "parentNode", + "nameLocation": "2868:10:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2860:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2238, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "2896:9:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2888:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2888:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2240, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "2922:5:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2915:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2239, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2915:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2242, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "2944:6:10", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "2937:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2241, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2937:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2850:106:10" + }, + "returnParameters": { + "id": 2244, + "nodeType": "ParameterList", + "parameters": [], + "src": "2965:0:10" + }, + "scope": 2401, + "src": "2828:138:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "24c1af44", + "id": 2264, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeRecord", + "nameLocation": "2981:16:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2247, + "mutability": "mutable", + "name": "node", + "nameLocation": "3015:4:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3007:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3007:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2249, + "mutability": "mutable", + "name": "label", + "nameLocation": "3045:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3029:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2248, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3029:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2251, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3068:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3060:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3060:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2253, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3091:8:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3083:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3083:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2255, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3116:3:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3109:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2254, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3109:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2257, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "3136:5:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3129:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2256, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3129:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2259, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3158:6:10", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3151:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2258, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3151:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "2997:173:10" + }, + "returnParameters": { + "id": 2263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2262, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "3189:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3189:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3188:9:10" + }, + "scope": 2401, + "src": "2972:226:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "cf408823", + "id": 2275, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setRecord", + "nameLocation": "3213:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "node", + "nameLocation": "3240:4:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3232:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3232:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2268, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3262:5:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3254:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3254:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2270, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3285:8:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3277:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3277:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2272, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3310:3:10", + "nodeType": "VariableDeclaration", + "scope": 2275, + "src": "3303:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2271, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3303:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3222:97:10" + }, + "returnParameters": { + "id": 2274, + "nodeType": "ParameterList", + "parameters": [], + "src": "3328:0:10" + }, + "scope": 2401, + "src": "3204:125:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c658e086", + "id": 2290, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setSubnodeOwner", + "nameLocation": "3344:15:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2277, + "mutability": "mutable", + "name": "node", + "nameLocation": "3377:4:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3369:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2276, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3369:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2279, + "mutability": "mutable", + "name": "label", + "nameLocation": "3407:5:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3391:21:10", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2278, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3391:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2281, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "3430:8:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3422:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3422:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2283, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "3455:5:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3448:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2282, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3448:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2285, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3477:6:10", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3470:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2284, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3470:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3359:130:10" + }, + "returnParameters": { + "id": 2289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2288, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2290, + "src": "3508:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2287, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3508:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3507:9:10" + }, + "scope": 2401, + "src": "3335:182:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6e5d6ad2", + "id": 2301, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "extendExpiry", + "nameLocation": "3532:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2292, + "mutability": "mutable", + "name": "node", + "nameLocation": "3562:4:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3554:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2291, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3554:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2294, + "mutability": "mutable", + "name": "labelhash", + "nameLocation": "3584:9:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3576:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3576:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2296, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "3610:6:10", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3603:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2295, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3603:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3544:78:10" + }, + "returnParameters": { + "id": 2300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2299, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2301, + "src": "3641:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2298, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3641:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3640:8:10" + }, + "scope": 2401, + "src": "3523:126:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "41415eab", + "id": 2310, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "canModifyName", + "nameLocation": "3664:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2303, + "mutability": "mutable", + "name": "node", + "nameLocation": "3695:4:10", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3687:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3687:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2305, + "mutability": "mutable", + "name": "addr", + "nameLocation": "3717:4:10", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3709:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3709:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3677:50:10" + }, + "returnParameters": { + "id": 2309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2308, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2310, + "src": "3751:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2307, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3751:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3750:6:10" + }, + "scope": 2401, + "src": "3655:102:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1896f70a", + "id": 2317, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setResolver", + "nameLocation": "3772:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2312, + "mutability": "mutable", + "name": "node", + "nameLocation": "3792:4:10", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "3784:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2311, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3784:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2314, + "mutability": "mutable", + "name": "resolver", + "nameLocation": "3806:8:10", + "nodeType": "VariableDeclaration", + "scope": 2317, + "src": "3798:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3798:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3783:32:10" + }, + "returnParameters": { + "id": 2316, + "nodeType": "ParameterList", + "parameters": [], + "src": "3824:0:10" + }, + "scope": 2401, + "src": "3763:62:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "14ab9038", + "id": 2324, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setTTL", + "nameLocation": "3840:6:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2319, + "mutability": "mutable", + "name": "node", + "nameLocation": "3855:4:10", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3847:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2318, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3847:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2321, + "mutability": "mutable", + "name": "ttl", + "nameLocation": "3868:3:10", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "3861:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2320, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3861:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3846:26:10" + }, + "returnParameters": { + "id": 2323, + "nodeType": "ParameterList", + "parameters": [], + "src": "3881:0:10" + }, + "scope": 2401, + "src": "3831:51:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6352211e", + "id": 2331, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3897:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2326, + "mutability": "mutable", + "name": "id", + "nameLocation": "3913:2:10", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "3905:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3905:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3904:12:10" + }, + "returnParameters": { + "id": 2330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2329, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3948:5:10", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "3940:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3940:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3939:15:10" + }, + "scope": 2401, + "src": "3888:67:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "095ea7b3", + "id": 2338, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3970:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2333, + "mutability": "mutable", + "name": "to", + "nameLocation": "3986:2:10", + "nodeType": "VariableDeclaration", + "scope": 2338, + "src": "3978:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3978:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2335, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3998:7:10", + "nodeType": "VariableDeclaration", + "scope": 2338, + "src": "3990:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3990:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3977:29:10" + }, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [], + "src": "4015:0:10" + }, + "scope": 2401, + "src": "3961:55:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "081812fc", + "id": 2345, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4031:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2340, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4051:7:10", + "nodeType": "VariableDeclaration", + "scope": 2345, + "src": "4043:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4043:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4042:17:10" + }, + "returnParameters": { + "id": 2344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2343, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2345, + "src": "4083:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4083:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4082:9:10" + }, + "scope": 2401, + "src": "4022:70:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0178fe3f", + "id": 2356, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getData", + "nameLocation": "4107:7:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2347, + "mutability": "mutable", + "name": "id", + "nameLocation": "4132:2:10", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4124:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4124:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4114:26:10" + }, + "returnParameters": { + "id": 2355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2350, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4164:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4164:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2352, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4173:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2351, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4173:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2356, + "src": "4181:6:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2353, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4181:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "4163:25:10" + }, + "scope": 2401, + "src": "4098:91:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1534e177", + "id": 2362, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setMetadataService", + "nameLocation": "4204:18:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2359, + "mutability": "mutable", + "name": "_metadataService", + "nameLocation": "4240:16:10", + "nodeType": "VariableDeclaration", + "scope": 2362, + "src": "4223:33:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + }, + "typeName": { + "id": 2358, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2357, + "name": "IMetadataService", + "nameLocations": [ + "4223:16:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2027, + "src": "4223:16:10" + }, + "referencedDeclaration": 2027, + "src": "4223:16:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetadataService_$2027", + "typeString": "contract IMetadataService" + } + }, + "visibility": "internal" + } + ], + "src": "4222:35:10" + }, + "returnParameters": { + "id": 2361, + "nodeType": "ParameterList", + "parameters": [], + "src": "4266:0:10" + }, + "scope": 2401, + "src": "4195:72:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0e89341c", + "id": 2369, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "uri", + "nameLocation": "4282:3:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2364, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4294:7:10", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "4286:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4286:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4285:17:10" + }, + "returnParameters": { + "id": 2368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2367, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2369, + "src": "4326:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2366, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4326:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4325:15:10" + }, + "scope": 2401, + "src": "4273:68:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "b6bcad26", + "id": 2375, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setUpgradeContract", + "nameLocation": "4356:18:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2372, + "mutability": "mutable", + "name": "_upgradeAddress", + "nameLocation": "4395:15:10", + "nodeType": "VariableDeclaration", + "scope": 2375, + "src": "4375:35:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + }, + "typeName": { + "id": 2371, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2370, + "name": "INameWrapperUpgrade", + "nameLocations": [ + "4375:19:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2419, + "src": "4375:19:10" + }, + "referencedDeclaration": 2419, + "src": "4375:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapperUpgrade_$2419", + "typeString": "contract INameWrapperUpgrade" + } + }, + "visibility": "internal" + } + ], + "src": "4374:37:10" + }, + "returnParameters": { + "id": 2374, + "nodeType": "ParameterList", + "parameters": [], + "src": "4420:0:10" + }, + "scope": 2401, + "src": "4347:74:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "adf4960a", + "id": 2384, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allFusesBurned", + "nameLocation": "4436:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2377, + "mutability": "mutable", + "name": "node", + "nameLocation": "4468:4:10", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4460:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4460:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2379, + "mutability": "mutable", + "name": "fuseMask", + "nameLocation": "4489:8:10", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4482:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2378, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4482:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "4450:53:10" + }, + "returnParameters": { + "id": 2383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2382, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2384, + "src": "4527:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4527:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4526:6:10" + }, + "scope": 2401, + "src": "4427:106:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "fd0cd0d9", + "id": 2391, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isWrapped", + "nameLocation": "4548:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2391, + "src": "4558:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4558:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4557:9:10" + }, + "returnParameters": { + "id": 2390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2389, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2391, + "src": "4590:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2388, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4590:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4589:6:10" + }, + "scope": 2401, + "src": "4539:57:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d9a50c12", + "id": 2400, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isWrapped", + "nameLocation": "4611:9:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2393, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4621:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2392, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4621:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2395, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4630:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2394, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4630:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4620:18:10" + }, + "returnParameters": { + "id": 2399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2398, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "4662:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4662:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4661:6:10" + }, + "scope": 2401, + "src": "4602:66:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2402, + "src": "914:3756:10", + "usedErrors": [], + "usedEvents": [ + 2093, + 2099, + 2105, + 2111, + 2438, + 2453, + 2462, + 2469 + ] + } + ], + "src": "31:4640:10" + }, + "id": 10 + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "ast": { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol", + "exportedSymbols": { + "INameWrapperUpgrade": [ + 2419 + ] + }, + "id": 2420, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2403, + "literals": [ + "solidity", + "~", + "0.8", + ".17" + ], + "nodeType": "PragmaDirective", + "src": "31:24:11" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "INameWrapperUpgrade", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 2419, + "linearizedBaseContracts": [ + 2419 + ], + "name": "INameWrapperUpgrade", + "nameLocation": "67:19:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "9198c276", + "id": 2418, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "wrapFromUpgrade", + "nameLocation": "102:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2405, + "mutability": "mutable", + "name": "name", + "nameLocation": "142:4:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "127:19:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2404, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "127:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2407, + "mutability": "mutable", + "name": "wrappedOwner", + "nameLocation": "164:12:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "156:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "156:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2409, + "mutability": "mutable", + "name": "fuses", + "nameLocation": "193:5:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "186:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2408, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "186:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2411, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "215:6:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "208:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2410, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "208:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2413, + "mutability": "mutable", + "name": "approved", + "nameLocation": "239:8:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "231:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "231:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2415, + "mutability": "mutable", + "name": "extraData", + "nameLocation": "272:9:11", + "nodeType": "VariableDeclaration", + "scope": 2418, + "src": "257:24:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2414, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "257:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "117:170:11" + }, + "returnParameters": { + "id": 2417, + "nodeType": "ParameterList", + "parameters": [], + "src": "296:0:11" + }, + "scope": 2419, + "src": "93:204:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2420, + "src": "57:242:11", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:269:11" + }, + "id": 11 + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol", + "exportedSymbols": { + "IERC1155": [ + 2541 + ], + "IERC165": [ + 3023 + ] + }, + "id": 2542, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2421, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "110:23:12" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 2422, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2542, + "sourceUnit": 3024, + "src": "135:47:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2424, + "name": "IERC165", + "nameLocations": [ + "372:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "372:7:12" + }, + "id": 2425, + "nodeType": "InheritanceSpecifier", + "src": "372:7:12" + } + ], + "canonicalName": "IERC1155", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2423, + "nodeType": "StructuredDocumentation", + "src": "184:165:12", + "text": " @dev Required interface of an ERC1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[EIP].\n _Available since v3.1._" + }, + "fullyImplemented": false, + "id": 2541, + "linearizedBaseContracts": [ + 2541, + 3023 + ], + "name": "IERC1155", + "nameLocation": "360:8:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2426, + "nodeType": "StructuredDocumentation", + "src": "386:121:12", + "text": " @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`." + }, + "eventSelector": "c3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62", + "id": 2438, + "name": "TransferSingle", + "nameLocation": "518:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2428, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "549:8:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "533:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2430, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "575:4:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "559:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2429, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "559:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2432, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "597:2:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "581:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2431, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "581:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2434, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "609:2:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "601:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "601:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2436, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "621:5:12", + "nodeType": "VariableDeclaration", + "scope": 2438, + "src": "613:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "613:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "532:95:12" + }, + "src": "512:116:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2439, + "nodeType": "StructuredDocumentation", + "src": "634:144:12", + "text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers." + }, + "eventSelector": "4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb", + "id": 2453, + "name": "TransferBatch", + "nameLocation": "789:13:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2441, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "828:8:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "812:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2440, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "812:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2443, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "862:4:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "846:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "846:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2445, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "892:2:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "876:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "876:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2448, + "indexed": false, + "mutability": "mutable", + "name": "ids", + "nameLocation": "914:3:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "904:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "904:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2447, + "nodeType": "ArrayTypeName", + "src": "904:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2451, + "indexed": false, + "mutability": "mutable", + "name": "values", + "nameLocation": "937:6:12", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "927:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "927:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2450, + "nodeType": "ArrayTypeName", + "src": "927:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "802:147:12" + }, + "src": "783:167:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2454, + "nodeType": "StructuredDocumentation", + "src": "956:147:12", + "text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 2462, + "name": "ApprovalForAll", + "nameLocation": "1114:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1145:7:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1129:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1129:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2458, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "1170:8:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1154:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1154:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2460, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "1185:8:12", + "nodeType": "VariableDeclaration", + "scope": 2462, + "src": "1180:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2459, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1180:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1128:66:12" + }, + "src": "1108:87:12" + }, + { + "anonymous": false, + "documentation": { + "id": 2463, + "nodeType": "StructuredDocumentation", + "src": "1201:343:12", + "text": " @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}." + }, + "eventSelector": "6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b", + "id": 2469, + "name": "URI", + "nameLocation": "1555:3:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2465, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1566:5:12", + "nodeType": "VariableDeclaration", + "scope": 2469, + "src": "1559:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1559:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2467, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1589:2:12", + "nodeType": "VariableDeclaration", + "scope": 2469, + "src": "1573:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1573:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1558:34:12" + }, + "src": "1549:44:12" + }, + { + "documentation": { + "id": 2470, + "nodeType": "StructuredDocumentation", + "src": "1599:173:12", + "text": " @dev Returns the amount of tokens of token type `id` owned by `account`.\n Requirements:\n - `account` cannot be the zero address." + }, + "functionSelector": "00fdd58e", + "id": 2479, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "1786:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2472, + "mutability": "mutable", + "name": "account", + "nameLocation": "1804:7:12", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1796:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1796:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2474, + "mutability": "mutable", + "name": "id", + "nameLocation": "1821:2:12", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1813:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1813:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1795:29:12" + }, + "returnParameters": { + "id": 2478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2477, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "1848:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1847:9:12" + }, + "scope": 2541, + "src": "1777:80:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2480, + "nodeType": "StructuredDocumentation", + "src": "1863:188:12", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length." + }, + "functionSelector": "4e1273f4", + "id": 2492, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOfBatch", + "nameLocation": "2065:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2483, + "mutability": "mutable", + "name": "accounts", + "nameLocation": "2108:8:12", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2089:27:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2089:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2482, + "nodeType": "ArrayTypeName", + "src": "2089:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2486, + "mutability": "mutable", + "name": "ids", + "nameLocation": "2145:3:12", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2126:22:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2126:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2485, + "nodeType": "ArrayTypeName", + "src": "2126:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2079:75:12" + }, + "returnParameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2492, + "src": "2178:16:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2178:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2489, + "nodeType": "ArrayTypeName", + "src": "2178:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2177:18:12" + }, + "scope": 2541, + "src": "2056:140:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2493, + "nodeType": "StructuredDocumentation", + "src": "2202:248:12", + "text": " @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the caller." + }, + "functionSelector": "a22cb465", + "id": 2500, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "2464:17:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2495, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2490:8:12", + "nodeType": "VariableDeclaration", + "scope": 2500, + "src": "2482:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2482:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2497, + "mutability": "mutable", + "name": "approved", + "nameLocation": "2505:8:12", + "nodeType": "VariableDeclaration", + "scope": 2500, + "src": "2500:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2496, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2500:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2481:33:12" + }, + "returnParameters": { + "id": 2499, + "nodeType": "ParameterList", + "parameters": [], + "src": "2523:0:12" + }, + "scope": 2541, + "src": "2455:69:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2501, + "nodeType": "StructuredDocumentation", + "src": "2530:135:12", + "text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}." + }, + "functionSelector": "e985e9c5", + "id": 2510, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "2679:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2503, + "mutability": "mutable", + "name": "account", + "nameLocation": "2704:7:12", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2696:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2696:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2505, + "mutability": "mutable", + "name": "operator", + "nameLocation": "2721:8:12", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2713:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2713:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2695:35:12" + }, + "returnParameters": { + "id": 2509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2508, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "2754:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2507, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2754:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2753:6:12" + }, + "scope": 2541, + "src": "2670:90:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2511, + "nodeType": "StructuredDocumentation", + "src": "2766:556:12", + "text": " @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value." + }, + "functionSelector": "f242432a", + "id": 2524, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "3336:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2513, + "mutability": "mutable", + "name": "from", + "nameLocation": "3361:4:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3353:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3353:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2515, + "mutability": "mutable", + "name": "to", + "nameLocation": "3375:2:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3367:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2514, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3367:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2517, + "mutability": "mutable", + "name": "id", + "nameLocation": "3387:2:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3379:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3379:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2519, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3399:6:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3391:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2518, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3391:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2521, + "mutability": "mutable", + "name": "data", + "nameLocation": "3422:4:12", + "nodeType": "VariableDeclaration", + "scope": 2524, + "src": "3407:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2520, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3407:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3352:75:12" + }, + "returnParameters": { + "id": 2523, + "nodeType": "ParameterList", + "parameters": [], + "src": "3436:0:12" + }, + "scope": 2541, + "src": "3327:110:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2525, + "nodeType": "StructuredDocumentation", + "src": "3443:390:12", + "text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value." + }, + "functionSelector": "2eb2c2d6", + "id": 2540, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeBatchTransferFrom", + "nameLocation": "3847:21:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2527, + "mutability": "mutable", + "name": "from", + "nameLocation": "3886:4:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3878:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3878:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2529, + "mutability": "mutable", + "name": "to", + "nameLocation": "3908:2:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3900:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3900:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2532, + "mutability": "mutable", + "name": "ids", + "nameLocation": "3939:3:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3920:22:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2530, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3920:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2531, + "nodeType": "ArrayTypeName", + "src": "3920:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2535, + "mutability": "mutable", + "name": "amounts", + "nameLocation": "3971:7:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3952:26:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3952:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2534, + "nodeType": "ArrayTypeName", + "src": "3952:9:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2537, + "mutability": "mutable", + "name": "data", + "nameLocation": "4003:4:12", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "3988:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2536, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3988:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3868:145:12" + }, + "returnParameters": { + "id": 2539, + "nodeType": "ParameterList", + "parameters": [], + "src": "4022:0:12" + }, + "scope": 2541, + "src": "3838:185:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2542, + "src": "350:3675:12", + "usedErrors": [], + "usedEvents": [ + 2438, + 2453, + 2462, + 2469 + ] + } + ], + "src": "110:3916:12" + }, + "id": 12 + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 3023 + ], + "IERC721": [ + 2657 + ] + }, + "id": 2658, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2543, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:13" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 2544, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2658, + "sourceUnit": 3024, + "src": "133:47:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2546, + "name": "IERC165", + "nameLocations": [ + "271:7:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "271:7:13" + }, + "id": 2547, + "nodeType": "InheritanceSpecifier", + "src": "271:7:13" + } + ], + "canonicalName": "IERC721", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2545, + "nodeType": "StructuredDocumentation", + "src": "182:67:13", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 2657, + "linearizedBaseContracts": [ + 2657, + 3023 + ], + "name": "IERC721", + "nameLocation": "260:7:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2548, + "nodeType": "StructuredDocumentation", + "src": "285:88:13", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 2556, + "name": "Transfer", + "nameLocation": "384:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2550, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "409:4:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "393:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2552, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "431:2:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "415:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2551, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "415:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2554, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "451:7:13", + "nodeType": "VariableDeclaration", + "scope": 2556, + "src": "435:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "435:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "392:67:13" + }, + "src": "378:82:13" + }, + { + "anonymous": false, + "documentation": { + "id": 2557, + "nodeType": "StructuredDocumentation", + "src": "466:94:13", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 2565, + "name": "Approval", + "nameLocation": "571:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2559, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "596:5:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "580:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "580:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2561, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "619:8:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "603:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "603:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2563, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "645:7:13", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "629:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "579:74:13" + }, + "src": "565:89:13" + }, + { + "anonymous": false, + "documentation": { + "id": 2566, + "nodeType": "StructuredDocumentation", + "src": "660:117:13", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 2574, + "name": "ApprovalForAll", + "nameLocation": "788:14:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "819:5:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "803:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2567, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2570, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "842:8:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "826:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2572, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "857:8:13", + "nodeType": "VariableDeclaration", + "scope": 2574, + "src": "852:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2571, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "852:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "802:64:13" + }, + "src": "782:85:13" + }, + { + "documentation": { + "id": 2575, + "nodeType": "StructuredDocumentation", + "src": "873:76:13", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 2582, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "963:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2577, + "mutability": "mutable", + "name": "owner", + "nameLocation": "981:5:13", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "973:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "972:15:13" + }, + "returnParameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2580, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1019:7:13", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1011:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1011:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1010:17:13" + }, + "scope": 2657, + "src": "954:74:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2583, + "nodeType": "StructuredDocumentation", + "src": "1034:131:13", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 2590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1179:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2585, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1195:7:13", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1187:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1187:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1186:17:13" + }, + "returnParameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2588, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1235:5:13", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1227:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1227:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1226:15:13" + }, + "scope": 2657, + "src": "1170:72:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2591, + "nodeType": "StructuredDocumentation", + "src": "1248:556:13", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 2602, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1818:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2593, + "mutability": "mutable", + "name": "from", + "nameLocation": "1843:4:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1835:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1835:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2595, + "mutability": "mutable", + "name": "to", + "nameLocation": "1857:2:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1849:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1849:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2597, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1869:7:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1861:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1861:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2599, + "mutability": "mutable", + "name": "data", + "nameLocation": "1893:4:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "1878:19:13", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2598, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1878:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1834:64:13" + }, + "returnParameters": { + "id": 2601, + "nodeType": "ParameterList", + "parameters": [], + "src": "1907:0:13" + }, + "scope": 2657, + "src": "1809:99:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2603, + "nodeType": "StructuredDocumentation", + "src": "1914:687:13", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 2612, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2615:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "mutability": "mutable", + "name": "from", + "nameLocation": "2640:4:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2632:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2632:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "to", + "nameLocation": "2654:2:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2646:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2646:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2609, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2666:7:13", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "2658:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2658:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2631:43:13" + }, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [], + "src": "2683:0:13" + }, + "scope": 2657, + "src": "2606:78:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2613, + "nodeType": "StructuredDocumentation", + "src": "2690:732:13", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 2622, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "3436:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2615, + "mutability": "mutable", + "name": "from", + "nameLocation": "3457:4:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3449:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2614, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3449:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2617, + "mutability": "mutable", + "name": "to", + "nameLocation": "3471:2:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3463:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3463:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2619, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3483:7:13", + "nodeType": "VariableDeclaration", + "scope": 2622, + "src": "3475:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3475:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3448:43:13" + }, + "returnParameters": { + "id": 2621, + "nodeType": "ParameterList", + "parameters": [], + "src": "3500:0:13" + }, + "scope": 2657, + "src": "3427:74:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2623, + "nodeType": "StructuredDocumentation", + "src": "3507:452:13", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 2630, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3973:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2625, + "mutability": "mutable", + "name": "to", + "nameLocation": "3989:2:13", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "3981:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3981:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2627, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4001:7:13", + "nodeType": "VariableDeclaration", + "scope": 2630, + "src": "3993:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3993:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3980:29:13" + }, + "returnParameters": { + "id": 2629, + "nodeType": "ParameterList", + "parameters": [], + "src": "4018:0:13" + }, + "scope": 2657, + "src": "3964:55:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2631, + "nodeType": "StructuredDocumentation", + "src": "4025:309:13", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 2638, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "4348:17:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2633, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4374:8:13", + "nodeType": "VariableDeclaration", + "scope": 2638, + "src": "4366:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4366:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2635, + "mutability": "mutable", + "name": "approved", + "nameLocation": "4389:8:13", + "nodeType": "VariableDeclaration", + "scope": 2638, + "src": "4384:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2634, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4384:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4365:33:13" + }, + "returnParameters": { + "id": 2637, + "nodeType": "ParameterList", + "parameters": [], + "src": "4407:0:13" + }, + "scope": 2657, + "src": "4339:69:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2639, + "nodeType": "StructuredDocumentation", + "src": "4414:139:13", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 2646, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4567:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2641, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4587:7:13", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "4579:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4579:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4578:17:13" + }, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2644, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4627:8:13", + "nodeType": "VariableDeclaration", + "scope": 2646, + "src": "4619:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2643, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4619:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4618:18:13" + }, + "scope": 2657, + "src": "4558:79:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2647, + "nodeType": "StructuredDocumentation", + "src": "4643:138:13", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 2656, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "4795:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2649, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4820:5:13", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4812:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4812:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2651, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4835:8:13", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4827:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4827:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4811:33:13" + }, + "returnParameters": { + "id": 2655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2654, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2656, + "src": "4868:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2653, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4868:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4867:6:13" + }, + "scope": 2657, + "src": "4786:88:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2658, + "src": "250:4626:13", + "usedErrors": [], + "usedEvents": [ + 2556, + 2565, + 2574 + ] + } + ], + "src": "108:4769:13" + }, + "id": 13 + }, + "@openzeppelin/contracts/utils/Address.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 2987 + ] + }, + "id": 2988, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2659, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:14" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2660, + "nodeType": "StructuredDocumentation", + "src": "126:67:14", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 2987, + "linearizedBaseContracts": [ + 2987 + ], + "name": "Address", + "nameLocation": "202:7:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2674, + "nodeType": "Block", + "src": "1478:254:14", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 2668, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2663, + "src": "1702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1710:4:14", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1702:12:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1715:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1702:19:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1702:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2667, + "id": 2673, + "nodeType": "Return", + "src": "1695:30:14" + } + ] + }, + "documentation": { + "id": 2661, + "nodeType": "StructuredDocumentation", + "src": "216:1191:14", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 2675, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1421:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2663, + "mutability": "mutable", + "name": "account", + "nameLocation": "1440:7:14", + "nodeType": "VariableDeclaration", + "scope": 2675, + "src": "1432:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2662, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1432:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1431:17:14" + }, + "returnParameters": { + "id": 2667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2675, + "src": "1472:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2665, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1472:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1471:6:14" + }, + "scope": 2987, + "src": "1412:320:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2708, + "nodeType": "Block", + "src": "2718:241:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2686, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2744:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + ], + "id": 2685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2736:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2736:7:14", + "typeDescriptions": {} + } + }, + "id": 2687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2736:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2750:7:14", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2736:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2689, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "2761:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2736:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2769:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 2683, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2728:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2728:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2693, + "nodeType": "ExpressionStatement", + "src": "2728:73:14" + }, + { + "assignments": [ + 2695, + null + ], + "declarations": [ + { + "constant": false, + "id": 2695, + "mutability": "mutable", + "name": "success", + "nameLocation": "2818:7:14", + "nodeType": "VariableDeclaration", + "scope": 2708, + "src": "2813:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2813:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 2702, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:2:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 2696, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "2831:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2841:4:14", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2831:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2698, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "2853:6:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2831:29:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2831:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2812:52:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2704, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2695, + "src": "2882:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 2705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2891:60:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 2703, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2874:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2874:78:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2707, + "nodeType": "ExpressionStatement", + "src": "2874:78:14" + } + ] + }, + "documentation": { + "id": 2676, + "nodeType": "StructuredDocumentation", + "src": "1738:904:14", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 2709, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2656:9:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2678, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2682:9:14", + "nodeType": "VariableDeclaration", + "scope": 2709, + "src": "2666:25:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 2677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2666:15:14", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2701:6:14", + "nodeType": "VariableDeclaration", + "scope": 2709, + "src": "2693:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2693:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2665:43:14" + }, + "returnParameters": { + "id": 2682, + "nodeType": "ParameterList", + "parameters": [], + "src": "2718:0:14" + }, + "scope": 2987, + "src": "2647:312:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2726, + "nodeType": "Block", + "src": "3790:96:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2720, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "3829:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2721, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "3837:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3843:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3846:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 2719, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "3807:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3807:72:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2718, + "id": 2725, + "nodeType": "Return", + "src": "3800:79:14" + } + ] + }, + "documentation": { + "id": 2710, + "nodeType": "StructuredDocumentation", + "src": "2965:731:14", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 2727, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3710:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "target", + "nameLocation": "3731:6:14", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3723:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3723:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "mutability": "mutable", + "name": "data", + "nameLocation": "3752:4:14", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3739:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2713, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3739:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3722:35:14" + }, + "returnParameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "3776:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2716, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3776:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3775:14:14" + }, + "scope": 2987, + "src": "3701:185:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2746, + "nodeType": "Block", + "src": "4255:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2740, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "4294:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2741, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2732, + "src": "4302:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 2743, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2734, + "src": "4311:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2739, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "4272:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4272:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2738, + "id": 2745, + "nodeType": "Return", + "src": "4265:59:14" + } + ] + }, + "documentation": { + "id": 2728, + "nodeType": "StructuredDocumentation", + "src": "3892:211:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 2747, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "4117:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2730, + "mutability": "mutable", + "name": "target", + "nameLocation": "4147:6:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4139:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4139:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2732, + "mutability": "mutable", + "name": "data", + "nameLocation": "4176:4:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4163:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2731, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4163:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2734, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "4204:12:14", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4190:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2733, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4190:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4129:93:14" + }, + "returnParameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2747, + "src": "4241:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2736, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4241:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4240:14:14" + }, + "scope": 2987, + "src": "4108:223:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2766, + "nodeType": "Block", + "src": "4806:111:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2760, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2750, + "src": "4845:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2761, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2752, + "src": "4853:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2762, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2754, + "src": "4859:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 2763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4866:43:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 2759, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2767, + 2811 + ], + "referencedDeclaration": 2811, + "src": "4823:21:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 2764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4823:87:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2758, + "id": 2765, + "nodeType": "Return", + "src": "4816:94:14" + } + ] + }, + "documentation": { + "id": 2748, + "nodeType": "StructuredDocumentation", + "src": "4337:351:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 2767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4702:21:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2755, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2750, + "mutability": "mutable", + "name": "target", + "nameLocation": "4732:6:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4724:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2749, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4724:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2752, + "mutability": "mutable", + "name": "data", + "nameLocation": "4753:4:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4740:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2751, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4740:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2754, + "mutability": "mutable", + "name": "value", + "nameLocation": "4767:5:14", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4759:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2753, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4759:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4723:50:14" + }, + "returnParameters": { + "id": 2758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2757, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2767, + "src": "4792:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2756, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4792:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4791:14:14" + }, + "scope": 2987, + "src": "4693:224:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2810, + "nodeType": "Block", + "src": "5344:267:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2784, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5370:4:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$2987", + "typeString": "library Address" + } + ], + "id": 2783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5362:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5362:7:14", + "typeDescriptions": {} + } + }, + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5362:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5376:7:14", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5362:21:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2787, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2774, + "src": "5387:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5362:30:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5394:40:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 2781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5354:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5354:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2791, + "nodeType": "ExpressionStatement", + "src": "5354:81:14" + }, + { + "assignments": [ + 2793, + 2795 + ], + "declarations": [ + { + "constant": false, + "id": 2793, + "mutability": "mutable", + "name": "success", + "nameLocation": "5451:7:14", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "5446:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2792, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5446:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2795, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5473:10:14", + "nodeType": "VariableDeclaration", + "scope": 2810, + "src": "5460:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2794, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5460:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2802, + "initialValue": { + "arguments": [ + { + "id": 2800, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2772, + "src": "5513:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2796, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2770, + "src": "5487:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5494:4:14", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5487:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2798, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2774, + "src": "5506:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5487:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5487:31:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5445:73:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2804, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2770, + "src": "5562:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2805, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2793, + "src": "5570:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2806, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "5579:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2807, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2776, + "src": "5591:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2803, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "5535:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5535:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2780, + "id": 2809, + "nodeType": "Return", + "src": "5528:76:14" + } + ] + }, + "documentation": { + "id": 2768, + "nodeType": "StructuredDocumentation", + "src": "4923:237:14", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 2811, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "5174:21:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2770, + "mutability": "mutable", + "name": "target", + "nameLocation": "5213:6:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5205:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5205:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2772, + "mutability": "mutable", + "name": "data", + "nameLocation": "5242:4:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5229:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2771, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5229:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2774, + "mutability": "mutable", + "name": "value", + "nameLocation": "5264:5:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5256:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2776, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5293:12:14", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5279:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2775, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5279:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5195:116:14" + }, + "returnParameters": { + "id": 2780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2779, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2811, + "src": "5330:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2778, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5330:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5329:14:14" + }, + "scope": 2987, + "src": "5165:446:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2827, + "nodeType": "Block", + "src": "5888:97:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2822, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2814, + "src": "5924:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2823, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2816, + "src": "5932:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 2824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5938:39:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 2821, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2828, + 2857 + ], + "referencedDeclaration": 2857, + "src": "5905:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5905:73:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2820, + "id": 2826, + "nodeType": "Return", + "src": "5898:80:14" + } + ] + }, + "documentation": { + "id": 2812, + "nodeType": "StructuredDocumentation", + "src": "5617:166:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 2828, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5797:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2814, + "mutability": "mutable", + "name": "target", + "nameLocation": "5824:6:14", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5816:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2813, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5816:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2816, + "mutability": "mutable", + "name": "data", + "nameLocation": "5845:4:14", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5832:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2815, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5832:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5815:35:14" + }, + "returnParameters": { + "id": 2820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2828, + "src": "5874:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2818, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5874:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5873:14:14" + }, + "scope": 2987, + "src": "5788:197:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2856, + "nodeType": "Block", + "src": "6327:168:14", + "statements": [ + { + "assignments": [ + 2841, + 2843 + ], + "declarations": [ + { + "constant": false, + "id": 2841, + "mutability": "mutable", + "name": "success", + "nameLocation": "6343:7:14", + "nodeType": "VariableDeclaration", + "scope": 2856, + "src": "6338:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2840, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6338:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2843, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6365:10:14", + "nodeType": "VariableDeclaration", + "scope": 2856, + "src": "6352:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2842, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6352:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2848, + "initialValue": { + "arguments": [ + { + "id": 2846, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2833, + "src": "6397:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2844, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2831, + "src": "6379:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6386:10:14", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6379:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6379:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6337:65:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2850, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2831, + "src": "6446:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2851, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2841, + "src": "6454:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2852, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2843, + "src": "6463:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2853, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2835, + "src": "6475:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2849, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "6419:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6419:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2839, + "id": 2855, + "nodeType": "Return", + "src": "6412:76:14" + } + ] + }, + "documentation": { + "id": 2829, + "nodeType": "StructuredDocumentation", + "src": "5991:173:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 2857, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "6178:18:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2831, + "mutability": "mutable", + "name": "target", + "nameLocation": "6214:6:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6206:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6206:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2833, + "mutability": "mutable", + "name": "data", + "nameLocation": "6243:4:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6230:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2832, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6230:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2835, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6271:12:14", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6257:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2834, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6257:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6196:93:14" + }, + "returnParameters": { + "id": 2839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2838, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2857, + "src": "6313:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2837, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6313:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6312:14:14" + }, + "scope": 2987, + "src": "6169:326:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2873, + "nodeType": "Block", + "src": "6771:101:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2868, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "6809:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2869, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "6817:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 2870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6823:41:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 2867, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2874, + 2903 + ], + "referencedDeclaration": 2903, + "src": "6788:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6788:77:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2866, + "id": 2872, + "nodeType": "Return", + "src": "6781:84:14" + } + ] + }, + "documentation": { + "id": 2858, + "nodeType": "StructuredDocumentation", + "src": "6501:168:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 2874, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6683:20:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2860, + "mutability": "mutable", + "name": "target", + "nameLocation": "6712:6:14", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6704:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6704:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "mutability": "mutable", + "name": "data", + "nameLocation": "6733:4:14", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6720:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2861, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6720:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6703:35:14" + }, + "returnParameters": { + "id": 2866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2865, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2874, + "src": "6757:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6757:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6756:14:14" + }, + "scope": 2987, + "src": "6674:198:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2902, + "nodeType": "Block", + "src": "7213:170:14", + "statements": [ + { + "assignments": [ + 2887, + 2889 + ], + "declarations": [ + { + "constant": false, + "id": 2887, + "mutability": "mutable", + "name": "success", + "nameLocation": "7229:7:14", + "nodeType": "VariableDeclaration", + "scope": 2902, + "src": "7224:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7224:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2889, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7251:10:14", + "nodeType": "VariableDeclaration", + "scope": 2902, + "src": "7238:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2888, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7238:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2894, + "initialValue": { + "arguments": [ + { + "id": 2892, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "7285:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 2890, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2877, + "src": "7265:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7272:12:14", + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7265:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7265:25:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7223:67:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2896, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2877, + "src": "7334:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2897, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "7342:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 2898, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2889, + "src": "7351:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2899, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2881, + "src": "7363:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2895, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2942, + "src": "7307:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 2900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7307:69:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2885, + "id": 2901, + "nodeType": "Return", + "src": "7300:76:14" + } + ] + }, + "documentation": { + "id": 2875, + "nodeType": "StructuredDocumentation", + "src": "6878:175:14", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 2903, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "7067:20:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2877, + "mutability": "mutable", + "name": "target", + "nameLocation": "7105:6:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7097:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7097:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2879, + "mutability": "mutable", + "name": "data", + "nameLocation": "7134:4:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7121:17:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2878, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7121:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2881, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7162:12:14", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7148:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2880, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7148:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7087:93:14" + }, + "returnParameters": { + "id": 2885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2884, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "7199:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2883, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7199:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7198:14:14" + }, + "scope": 2987, + "src": "7058:325:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2941, + "nodeType": "Block", + "src": "7865:434:14", + "statements": [ + { + "condition": { + "id": 2917, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2908, + "src": "7879:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2939, + "nodeType": "Block", + "src": "8235:58:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2935, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "8257:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2936, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2912, + "src": "8269:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2934, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "8249:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8249:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2938, + "nodeType": "ExpressionStatement", + "src": "8249:33:14" + } + ] + }, + "id": 2940, + "nodeType": "IfStatement", + "src": "7875:418:14", + "trueBody": { + "id": 2933, + "nodeType": "Block", + "src": "7888:341:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2918, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "7906:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7917:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7906:17:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7927:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7906:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2930, + "nodeType": "IfStatement", + "src": "7902:286:14", + "trueBody": { + "id": 2929, + "nodeType": "Block", + "src": "7930:258:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2924, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2906, + "src": "8132:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2923, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2675, + "src": "8121:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8121:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 2926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8141:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 2922, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8113:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8113:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2928, + "nodeType": "ExpressionStatement", + "src": "8113:60:14" + } + ] + } + }, + { + "expression": { + "id": 2931, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "8208:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2916, + "id": 2932, + "nodeType": "Return", + "src": "8201:17:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2904, + "nodeType": "StructuredDocumentation", + "src": "7389:277:14", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" + }, + "id": 2942, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "7680:26:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2906, + "mutability": "mutable", + "name": "target", + "nameLocation": "7724:6:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7716:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2905, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7716:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2908, + "mutability": "mutable", + "name": "success", + "nameLocation": "7745:7:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7740:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2907, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7740:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2910, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7775:10:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7762:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2909, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7762:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2912, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7809:12:14", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7795:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7795:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7706:121:14" + }, + "returnParameters": { + "id": 2916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2915, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2942, + "src": "7851:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2914, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7851:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7850:14:14" + }, + "scope": 2987, + "src": "7671:628:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2965, + "nodeType": "Block", + "src": "8680:135:14", + "statements": [ + { + "condition": { + "id": 2954, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8694:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2963, + "nodeType": "Block", + "src": "8751:58:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2959, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "8773:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2960, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2949, + "src": "8785:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2958, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "8765:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 2961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8765:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2962, + "nodeType": "ExpressionStatement", + "src": "8765:33:14" + } + ] + }, + "id": 2964, + "nodeType": "IfStatement", + "src": "8690:119:14", + "trueBody": { + "id": 2957, + "nodeType": "Block", + "src": "8703:42:14", + "statements": [ + { + "expression": { + "id": 2955, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "8724:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2953, + "id": 2956, + "nodeType": "Return", + "src": "8717:17:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2943, + "nodeType": "StructuredDocumentation", + "src": "8305:210:14", + "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" + }, + "id": 2966, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "8529:16:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2945, + "mutability": "mutable", + "name": "success", + "nameLocation": "8560:7:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8555:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2944, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8555:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2947, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8590:10:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8577:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2946, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8577:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2949, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8624:12:14", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8610:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2948, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8610:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8545:97:14" + }, + "returnParameters": { + "id": 2953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2952, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "8666:12:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2951, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8666:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8665:14:14" + }, + "scope": 2987, + "src": "8520:295:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2985, + "nodeType": "Block", + "src": "8904:457:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2973, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "8980:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8991:6:14", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8980:17:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9000:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8980:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2983, + "nodeType": "Block", + "src": "9310:45:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2980, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2970, + "src": "9331:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2979, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "9324:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 2981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9324:20:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2982, + "nodeType": "ExpressionStatement", + "src": "9324:20:14" + } + ] + }, + "id": 2984, + "nodeType": "IfStatement", + "src": "8976:379:14", + "trueBody": { + "id": 2978, + "nodeType": "Block", + "src": "9003:301:14", + "statements": [ + { + "AST": { + "nativeSrc": "9161:133:14", + "nodeType": "YulBlock", + "src": "9161:133:14", + "statements": [ + { + "nativeSrc": "9179:40:14", + "nodeType": "YulVariableDeclaration", + "src": "9179:40:14", + "value": { + "arguments": [ + { + "name": "returndata", + "nativeSrc": "9208:10:14", + "nodeType": "YulIdentifier", + "src": "9208:10:14" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9202:5:14", + "nodeType": "YulIdentifier", + "src": "9202:5:14" + }, + "nativeSrc": "9202:17:14", + "nodeType": "YulFunctionCall", + "src": "9202:17:14" + }, + "variables": [ + { + "name": "returndata_size", + "nativeSrc": "9183:15:14", + "nodeType": "YulTypedName", + "src": "9183:15:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9247:2:14", + "nodeType": "YulLiteral", + "src": "9247:2:14", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nativeSrc": "9251:10:14", + "nodeType": "YulIdentifier", + "src": "9251:10:14" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9243:3:14", + "nodeType": "YulIdentifier", + "src": "9243:3:14" + }, + "nativeSrc": "9243:19:14", + "nodeType": "YulFunctionCall", + "src": "9243:19:14" + }, + { + "name": "returndata_size", + "nativeSrc": "9264:15:14", + "nodeType": "YulIdentifier", + "src": "9264:15:14" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9236:6:14", + "nodeType": "YulIdentifier", + "src": "9236:6:14" + }, + "nativeSrc": "9236:44:14", + "nodeType": "YulFunctionCall", + "src": "9236:44:14" + }, + "nativeSrc": "9236:44:14", + "nodeType": "YulExpressionStatement", + "src": "9236:44:14" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2968, + "isOffset": false, + "isSlot": false, + "src": "9208:10:14", + "valueSize": 1 + }, + { + "declaration": 2968, + "isOffset": false, + "isSlot": false, + "src": "9251:10:14", + "valueSize": 1 + } + ], + "id": 2977, + "nodeType": "InlineAssembly", + "src": "9152:142:14" + } + ] + } + } + ] + }, + "id": 2986, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "8830:7:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2968, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8851:10:14", + "nodeType": "VariableDeclaration", + "scope": 2986, + "src": "8838:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2967, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8838:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2970, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8877:12:14", + "nodeType": "VariableDeclaration", + "scope": 2986, + "src": "8863:26:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2969, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8863:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8837:53:14" + }, + "returnParameters": { + "id": 2972, + "nodeType": "ParameterList", + "parameters": [], + "src": "8904:0:14" + }, + "scope": 2987, + "src": "8821:540:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 2988, + "src": "194:9169:14", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:9263:14" + }, + "id": 14 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 3011 + ], + "IERC165": [ + 3023 + ] + }, + "id": 3012, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2989, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:15" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 2990, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3012, + "sourceUnit": 3024, + "src": "124:23:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2992, + "name": "IERC165", + "nameLocations": [ + "754:7:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3023, + "src": "754:7:15" + }, + "id": 2993, + "nodeType": "InheritanceSpecifier", + "src": "754:7:15" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2991, + "nodeType": "StructuredDocumentation", + "src": "149:576:15", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 3011, + "linearizedBaseContracts": [ + 3011, + 3023 + ], + "name": "ERC165", + "nameLocation": "744:6:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 3022 + ], + "body": { + "id": 3009, + "nodeType": "Block", + "src": "920:64:15", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3002, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2996, + "src": "937:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3004, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "957:7:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$3023_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$3023_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 3003, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$3023", + "typeString": "type(contract IERC165)" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "966:11:15", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3001, + "id": 3008, + "nodeType": "Return", + "src": "930:47:15" + } + ] + }, + "documentation": { + "id": 2994, + "nodeType": "StructuredDocumentation", + "src": "768:56:15", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 3010, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:15", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2998, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:15" + }, + "parameters": { + "id": 2997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2996, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:15", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "856:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2995, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:15" + }, + "returnParameters": { + "id": 3001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3000, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "914:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2999, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:15" + }, + "scope": 3011, + "src": "829:155:15", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 3012, + "src": "726:260:15", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "99:888:15" + }, + "id": 15 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 3023 + ] + }, + "id": 3024, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3013, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:16" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3014, + "nodeType": "StructuredDocumentation", + "src": "125:279:16", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 3023, + "linearizedBaseContracts": [ + 3023 + ], + "name": "IERC165", + "nameLocation": "415:7:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3015, + "nodeType": "StructuredDocumentation", + "src": "429:340:16", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 3022, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3018, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3017, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:16", + "nodeType": "VariableDeclaration", + "scope": 3022, + "src": "801:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3016, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:16" + }, + "returnParameters": { + "id": 3021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3020, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3022, + "src": "844:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:16" + }, + "scope": 3023, + "src": "774:76:16", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3024, + "src": "405:447:16", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "100:753:16" + }, + "id": 16 + }, + "contracts/IAddrSetter.sol": { + "ast": { + "absolutePath": "contracts/IAddrSetter.sol", + "exportedSymbols": { + "IAddrSetter": [ + 3035 + ] + }, + "id": 3036, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3025, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "32:23:17" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAddrSetter", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3035, + "linearizedBaseContracts": [ + 3035 + ], + "name": "IAddrSetter", + "nameLocation": "67:11:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "f00eebf4", + "id": 3034, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nameLocation": "94:7:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3027, + "mutability": "mutable", + "name": "name", + "nameLocation": "126:4:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "111:19:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3026, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "111:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3029, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "148:5:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "140:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "140:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "101:58:17" + }, + "returnParameters": { + "id": 3033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3032, + "mutability": "mutable", + "name": "result", + "nameLocation": "196:6:17", + "nodeType": "VariableDeclaration", + "scope": 3034, + "src": "183:19:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3031, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "183:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "182:21:17" + }, + "scope": 3035, + "src": "85:119:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3036, + "src": "57:149:17", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:175:17" + }, + "id": 17 + }, + "contracts/ITargetResolver.sol": { + "ast": { + "absolutePath": "contracts/ITargetResolver.sol", + "exportedSymbols": { + "ITargetResolver": [ + 3047 + ] + }, + "id": 3048, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3037, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "32:23:18" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ITargetResolver", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3047, + "linearizedBaseContracts": [ + 3047 + ], + "name": "ITargetResolver", + "nameLocation": "67:15:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "15f64386", + "id": 3046, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getTarget", + "nameLocation": "98:9:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3039, + "mutability": "mutable", + "name": "name", + "nameLocation": "130:4:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "117:17:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3038, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "117:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "107:33:18" + }, + "returnParameters": { + "id": 3045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3042, + "mutability": "mutable", + "name": "node", + "nameLocation": "172:4:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "164:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "164:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3044, + "mutability": "mutable", + "name": "target", + "nameLocation": "186:6:18", + "nodeType": "VariableDeclaration", + "scope": 3046, + "src": "178:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "178:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "163:30:18" + }, + "scope": 3047, + "src": "89:105:18", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3048, + "src": "57:139:18", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:165:18" + }, + "id": 18 + }, + "contracts/LabelUtils.sol": { + "ast": { + "absolutePath": "contracts/LabelUtils.sol", + "exportedSymbols": { + "LabelUtils": [ + 3272 + ] + }, + "id": 3273, + "license": "Apache-2.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3049, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "39:23:19" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "LabelUtils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 3050, + "nodeType": "StructuredDocumentation", + "src": "64:94:19", + "text": " @title Library to perform ENS label manipulation\n @author ConsenSys Software Inc." + }, + "fullyImplemented": true, + "id": 3272, + "linearizedBaseContracts": [ + 3272 + ], + "name": "LabelUtils", + "nameLocation": "167:10:19", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3105, + "nodeType": "Block", + "src": "439:268:19", + "statements": [ + { + "assignments": [ + 3059 + ], + "declarations": [ + { + "constant": false, + "id": 3059, + "mutability": "mutable", + "name": "idx", + "nameLocation": "457:3:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "449:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "449:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3061, + "initialValue": { + "hexValue": "30", + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "463:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "449:15:19" + }, + { + "assignments": [ + 3063 + ], + "declarations": [ + { + "constant": false, + "id": 3063, + "mutability": "mutable", + "name": "labelLength", + "nameLocation": "480:11:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "474:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3062, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "474:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 3070, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3066, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3053, + "src": "500:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3068, + "indexExpression": { + "id": 3067, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "505:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "500:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "494:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3064, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "494:5:19", + "typeDescriptions": {} + } + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "494:16:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "474:36:19" + }, + { + "expression": { + "id": 3072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "520:5:19", + "subExpression": { + "id": 3071, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "520:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3073, + "nodeType": "ExpressionStatement", + "src": "520:5:19" + }, + { + "assignments": [ + 3075 + ], + "declarations": [ + { + "constant": false, + "id": 3075, + "mutability": "mutable", + "name": "label", + "nameLocation": "548:5:19", + "nodeType": "VariableDeclaration", + "scope": 3105, + "src": "535:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3074, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "535:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3080, + "initialValue": { + "arguments": [ + { + "id": 3078, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "566:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "556:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3076, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "560:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "556:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "535:43:19" + }, + { + "body": { + "id": 3101, + "nodeType": "Block", + "src": "630:49:19", + "statements": [ + { + "expression": { + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3091, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3075, + "src": "644:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3093, + "indexExpression": { + "id": 3092, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "650:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "644:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 3094, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3053, + "src": "655:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3098, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3095, + "name": "idx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "660:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3096, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "666:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "660:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:13:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "644:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 3100, + "nodeType": "ExpressionStatement", + "src": "644:24:19" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3085, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "608:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3086, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3063, + "src": "612:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "608:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3102, + "initializationExpression": { + "assignments": [ + 3082 + ], + "declarations": [ + { + "constant": false, + "id": 3082, + "mutability": "mutable", + "name": "i", + "nameLocation": "601:1:19", + "nodeType": "VariableDeclaration", + "scope": 3102, + "src": "593:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3081, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "593:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3084, + "initialValue": { + "hexValue": "30", + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "605:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "593:13:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "625:3:19", + "subExpression": { + "id": 3088, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "625:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3090, + "nodeType": "ExpressionStatement", + "src": "625:3:19" + }, + "nodeType": "ForStatement", + "src": "588:91:19" + }, + { + "expression": { + "id": 3103, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3075, + "src": "695:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3057, + "id": 3104, + "nodeType": "Return", + "src": "688:12:19" + } + ] + }, + "documentation": { + "id": 3051, + "nodeType": "StructuredDocumentation", + "src": "184:153:19", + "text": " Extract the first label name from a dns encoded ens domain\n @param name the dns encoded ENS domain\n @return label as bytes" + }, + "functionSelector": "94bc2db6", + "id": 3106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractFirstLabel", + "nameLocation": "351:17:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3053, + "mutability": "mutable", + "name": "name", + "nameLocation": "391:4:19", + "nodeType": "VariableDeclaration", + "scope": 3106, + "src": "378:17:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3052, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "378:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "368:33:19" + }, + "returnParameters": { + "id": 3057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3056, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3106, + "src": "425:12:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3055, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "425:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "424:14:19" + }, + "scope": 3272, + "src": "342:365:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3179, + "nodeType": "Block", + "src": "969:571:19", + "statements": [ + { + "assignments": [ + 3115 + ], + "declarations": [ + { + "constant": false, + "id": 3115, + "mutability": "mutable", + "name": "num", + "nameLocation": "987:3:19", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "979:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "979:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3117, + "initialValue": { + "hexValue": "30", + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "993:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "979:15:19" + }, + { + "assignments": [ + 3119 + ], + "declarations": [ + { + "constant": false, + "id": 3119, + "mutability": "mutable", + "name": "hasNumber", + "nameLocation": "1009:9:19", + "nodeType": "VariableDeclaration", + "scope": 3179, + "src": "1004:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3118, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1004:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 3121, + "initialValue": { + "hexValue": "66616c7365", + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1021:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1004:22:19" + }, + { + "body": { + "id": 3170, + "nodeType": "Block", + "src": "1080:378:19", + "statements": [ + { + "assignments": [ + 3134 + ], + "declarations": [ + { + "constant": false, + "id": 3134, + "mutability": "mutable", + "name": "char", + "nameLocation": "1100:4:19", + "nodeType": "VariableDeclaration", + "scope": 3170, + "src": "1094:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3133, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1094:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 3141, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3137, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3109, + "src": "1113:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3139, + "indexExpression": { + "id": 3138, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1119:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1113:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1107:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3135, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1107:5:19", + "typeDescriptions": {} + } + }, + "id": 3140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1107:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1094:28:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3142, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1140:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3438", + "id": 3143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1148:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "1140:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3145, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1154:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3537", + "id": 3146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1162:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "src": "1154:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1140:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "id": 3165, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1324:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3168, + "nodeType": "IfStatement", + "src": "1320:128:19", + "trueBody": { + "id": 3167, + "nodeType": "Block", + "src": "1335:113:19", + "statements": [ + { + "id": 3166, + "nodeType": "Break", + "src": "1428:5:19" + } + ] + } + }, + "id": 3169, + "nodeType": "IfStatement", + "src": "1136:312:19", + "trueBody": { + "id": 3164, + "nodeType": "Block", + "src": "1166:148:19", + "statements": [ + { + "expression": { + "id": 3158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3149, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1237:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3150, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1243:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3130", + "id": 3151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1249:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "1243:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3153, + "name": "char", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3134, + "src": "1255:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "3438", + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1262:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "1255:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 3156, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1254:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "1243:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3159, + "nodeType": "ExpressionStatement", + "src": "1237:28:19" + }, + { + "expression": { + "id": 3162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3160, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1283:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1295:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1283:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3163, + "nodeType": "ExpressionStatement", + "src": "1283:16:19" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3126, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1057:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3127, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3109, + "src": "1061:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1067:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1061:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1057:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3171, + "initializationExpression": { + "assignments": [ + 3123 + ], + "declarations": [ + { + "constant": false, + "id": 3123, + "mutability": "mutable", + "name": "i", + "nameLocation": "1050:1:19", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "1042:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1042:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3125, + "initialValue": { + "hexValue": "30", + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1054:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1042:13:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1075:3:19", + "subExpression": { + "id": 3130, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3123, + "src": "1075:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3132, + "nodeType": "ExpressionStatement", + "src": "1075:3:19" + }, + "nodeType": "ForStatement", + "src": "1037:421:19" + }, + { + "expression": { + "arguments": [ + { + "id": 3173, + "name": "hasNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "1476:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f206e756d657269632073756666697820666f756e64", + "id": 3174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1487:25:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "typeString": "literal_string \"No numeric suffix found\"" + }, + "value": "No numeric suffix found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "typeString": "literal_string \"No numeric suffix found\"" + } + ], + "id": 3172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1468:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1468:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3176, + "nodeType": "ExpressionStatement", + "src": "1468:45:19" + }, + { + "expression": { + "id": 3177, + "name": "num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "1530:3:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3113, + "id": 3178, + "nodeType": "Return", + "src": "1523:10:19" + } + ] + }, + "documentation": { + "id": 3107, + "nodeType": "StructuredDocumentation", + "src": "713:155:19", + "text": " Extract the numeric suffix from the dns encoded label\n @param label the dns encoded label\n @return number the numeric suffix" + }, + "functionSelector": "08dea91d", + "id": 3180, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractNumericSuffix", + "nameLocation": "882:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3109, + "mutability": "mutable", + "name": "label", + "nameLocation": "925:5:19", + "nodeType": "VariableDeclaration", + "scope": 3180, + "src": "912:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3108, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "912:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "902:34:19" + }, + "returnParameters": { + "id": 3113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3112, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3180, + "src": "960:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "960:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "959:9:19" + }, + "scope": 3272, + "src": "873:667:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3218, + "nodeType": "Block", + "src": "1760:261:19", + "statements": [ + { + "body": { + "id": 3214, + "nodeType": "Block", + "src": "1810:184:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3199, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1903:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3201, + "indexExpression": { + "id": 3200, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1909:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1903:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30783330", + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1914:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "0x30" + }, + "src": "1903:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 3208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3204, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1922:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3206, + "indexExpression": { + "id": 3205, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1928:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1922:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30783339", + "id": 3207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1933:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "0x39" + }, + "src": "1922:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1903:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3213, + "nodeType": "IfStatement", + "src": "1899:85:19", + "trueBody": { + "id": 3212, + "nodeType": "Block", + "src": "1939:45:19", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 3210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3187, + "id": 3211, + "nodeType": "Return", + "src": "1957:12:19" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3192, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1787:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3193, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "1791:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1797:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1791:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1787:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3215, + "initializationExpression": { + "assignments": [ + 3189 + ], + "declarations": [ + { + "constant": false, + "id": 3189, + "mutability": "mutable", + "name": "i", + "nameLocation": "1780:1:19", + "nodeType": "VariableDeclaration", + "scope": 3215, + "src": "1775:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3188, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1775:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3191, + "initialValue": { + "hexValue": "30", + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1775:10:19" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1805:3:19", + "subExpression": { + "id": 3196, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3189, + "src": "1805:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3198, + "nodeType": "ExpressionStatement", + "src": "1805:3:19" + }, + "nodeType": "ForStatement", + "src": "1770:224:19" + }, + { + "expression": { + "hexValue": "74727565", + "id": 3216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3187, + "id": 3217, + "nodeType": "Return", + "src": "2003:11:19" + } + ] + }, + "documentation": { + "id": 3181, + "nodeType": "StructuredDocumentation", + "src": "1546:144:19", + "text": " Check if the bytes param is a number or not\n @param input bytes to check\n @return true if number, false otherwise" + }, + "functionSelector": "e5c4cf73", + "id": 3219, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isNumber", + "nameLocation": "1704:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3183, + "mutability": "mutable", + "name": "input", + "nameLocation": "1726:5:19", + "nodeType": "VariableDeclaration", + "scope": 3219, + "src": "1713:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3182, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1713:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1712:20:19" + }, + "returnParameters": { + "id": 3187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3186, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3219, + "src": "1754:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3185, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1754:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1753:6:19" + }, + "scope": 3272, + "src": "1695:326:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3270, + "nodeType": "Block", + "src": "2268:325:19", + "statements": [ + { + "assignments": [ + 3228 + ], + "declarations": [ + { + "constant": false, + "id": 3228, + "mutability": "mutable", + "name": "count", + "nameLocation": "2283:5:19", + "nodeType": "VariableDeclaration", + "scope": 3270, + "src": "2278:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3227, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2278:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3230, + "initialValue": { + "hexValue": "30", + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2291:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2278:14:19" + }, + { + "assignments": [ + 3232 + ], + "declarations": [ + { + "constant": false, + "id": 3232, + "mutability": "mutable", + "name": "i", + "nameLocation": "2307:1:19", + "nodeType": "VariableDeclaration", + "scope": 3270, + "src": "2302:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3231, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2302:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3234, + "initialValue": { + "hexValue": "30", + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2311:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2302:10:19" + }, + { + "body": { + "id": 3266, + "nodeType": "Block", + "src": "2348:216:19", + "statements": [ + { + "assignments": [ + 3240 + ], + "declarations": [ + { + "constant": false, + "id": 3240, + "mutability": "mutable", + "name": "labelLength", + "nameLocation": "2367:11:19", + "nodeType": "VariableDeclaration", + "scope": 3266, + "src": "2362:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2362:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3250, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 3245, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3222, + "src": "2392:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3247, + "indexExpression": { + "id": 3246, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2398:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2392:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2386:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3243, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2386:5:19", + "typeDescriptions": {} + } + }, + "id": 3248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2386:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2381:4:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3241, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2381:4:19", + "typeDescriptions": {} + } + }, + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2381:21:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2362:40:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3251, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3240, + "src": "2420:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2435:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2420:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3256, + "nodeType": "IfStatement", + "src": "2416:83:19", + "trueBody": { + "id": 3255, + "nodeType": "Block", + "src": "2438:61:19", + "statements": [ + { + "id": 3254, + "nodeType": "Break", + "src": "2456:5:19" + } + ] + } + }, + { + "expression": { + "id": 3258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2512:7:19", + "subExpression": { + "id": 3257, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3228, + "src": "2512:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3259, + "nodeType": "ExpressionStatement", + "src": "2512:7:19" + }, + { + "expression": { + "id": 3264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3260, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2533:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3261, + "name": "labelLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3240, + "src": "2538:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2552:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2538:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2533:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3265, + "nodeType": "ExpressionStatement", + "src": "2533:20:19" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3235, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3232, + "src": "2330:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 3236, + "name": "input", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3222, + "src": "2334:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2340:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2334:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2330:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3267, + "nodeType": "WhileStatement", + "src": "2323:241:19" + }, + { + "expression": { + "id": 3268, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3228, + "src": "2581:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3226, + "id": 3269, + "nodeType": "Return", + "src": "2574:12:19" + } + ] + }, + "documentation": { + "id": 3220, + "nodeType": "StructuredDocumentation", + "src": "2027:168:19", + "text": " Counts the number of labels in the DNS encoded input given\n @param input the DNS encoded input to count from\n @return number labels found" + }, + "functionSelector": "4062ace3", + "id": 3271, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "countLabels", + "nameLocation": "2209:11:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3222, + "mutability": "mutable", + "name": "input", + "nameLocation": "2234:5:19", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "2221:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3221, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2221:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2220:20:19" + }, + "returnParameters": { + "id": 3226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3225, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "2262:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3224, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2262:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2261:6:19" + }, + "scope": 3272, + "src": "2200:393:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3273, + "src": "159:2436:19", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "39:2557:19" + }, + "id": 19 + }, + "contracts/NFTResolver.sol": { + "ast": { + "absolutePath": "contracts/NFTResolver.sol", + "exportedSymbols": { + "BytesUtils": [ + 2017 + ], + "ENS": [ + 1030 + ], + "ERC165": [ + 3011 + ], + "EVMFetchTarget": [ + 122 + ], + "EVMFetcher": [ + 771 + ], + "IAddrResolver": [ + 1048 + ], + "IAddrSetter": [ + 3035 + ], + "IAddressResolver": [ + 1069 + ], + "IERC165": [ + 3023 + ], + "IEVMVerifier": [ + 798 + ], + "IExtendedResolver": [ + 1081 + ], + "INameWrapper": [ + 2401 + ], + "ITargetResolver": [ + 3047 + ], + "LabelUtils": [ + 3272 + ], + "NFTResolver": [ + 3993 + ] + }, + "id": 3994, + "license": "Apache-2.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3274, + "literals": [ + "solidity", + "0.8", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "39:23:20" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "file": "@consensys/linea-state-verifier/contracts/EVMFetcher.sol", + "id": 3276, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 772, + "src": "64:84:20", + "symbolAliases": [ + { + "foreign": { + "id": 3275, + "name": "EVMFetcher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "72:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "file": "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol", + "id": 3278, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 123, + "src": "149:92:20", + "symbolAliases": [ + { + "foreign": { + "id": 3277, + "name": "EVMFetchTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "157:14:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "file": "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol", + "id": 3280, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 799, + "src": "242:88:20", + "symbolAliases": [ + { + "foreign": { + "id": 3279, + "name": "IEVMVerifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "250:12:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "file": "@ensdomains/ens-contracts/contracts/registry/ENS.sol", + "id": 3281, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1031, + "src": "331:62:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "file": "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol", + "id": 3283, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 2402, + "src": "394:90:20", + "symbolAliases": [ + { + "foreign": { + "id": 3282, + "name": "INameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "402:12:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "file": "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol", + "id": 3285, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 2018, + "src": "485:84:20", + "symbolAliases": [ + { + "foreign": { + "id": 3284, + "name": "BytesUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2017, + "src": "493:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol", + "id": 3287, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1049, + "src": "570:103:20", + "symbolAliases": [ + { + "foreign": { + "id": 3286, + "name": "IAddrResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "578:13:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol", + "id": 3289, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1070, + "src": "674:109:20", + "symbolAliases": [ + { + "foreign": { + "id": 3288, + "name": "IAddressResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "682:16:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "file": "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol", + "id": 3290, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 1082, + "src": "784:86:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/ITargetResolver.sol", + "file": "./ITargetResolver.sol", + "id": 3292, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3048, + "src": "871:54:20", + "symbolAliases": [ + { + "foreign": { + "id": 3291, + "name": "ITargetResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3047, + "src": "879:15:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/IAddrSetter.sol", + "file": "./IAddrSetter.sol", + "id": 3294, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3036, + "src": "926:46:20", + "symbolAliases": [ + { + "foreign": { + "id": 3293, + "name": "IAddrSetter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "934:11:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "id": 3295, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3012, + "src": "973:64:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/LabelUtils.sol", + "file": "./LabelUtils.sol", + "id": 3297, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3994, + "sourceUnit": 3273, + "src": "1038:44:20", + "symbolAliases": [ + { + "foreign": { + "id": 3296, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "1046:10:20", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3298, + "name": "EVMFetchTarget", + "nameLocations": [ + "1112:14:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 122, + "src": "1112:14:20" + }, + "id": 3299, + "nodeType": "InheritanceSpecifier", + "src": "1112:14:20" + }, + { + "baseName": { + "id": 3300, + "name": "ITargetResolver", + "nameLocations": [ + "1132:15:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3047, + "src": "1132:15:20" + }, + "id": 3301, + "nodeType": "InheritanceSpecifier", + "src": "1132:15:20" + }, + { + "baseName": { + "id": 3302, + "name": "IExtendedResolver", + "nameLocations": [ + "1153:17:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1081, + "src": "1153:17:20" + }, + "id": 3303, + "nodeType": "InheritanceSpecifier", + "src": "1153:17:20" + }, + { + "baseName": { + "id": 3304, + "name": "IAddrSetter", + "nameLocations": [ + "1176:11:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3035, + "src": "1176:11:20" + }, + "id": 3305, + "nodeType": "InheritanceSpecifier", + "src": "1176:11:20" + }, + { + "baseName": { + "id": 3306, + "name": "ERC165", + "nameLocations": [ + "1193:6:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3011, + "src": "1193:6:20" + }, + "id": 3307, + "nodeType": "InheritanceSpecifier", + "src": "1193:6:20" + } + ], + "canonicalName": "NFTResolver", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3993, + "linearizedBaseContracts": [ + 3993, + 3011, + 3023, + 3035, + 1081, + 3047, + 122 + ], + "name": "NFTResolver", + "nameLocation": "1093:11:20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 3311, + "libraryName": { + "id": 3308, + "name": "EVMFetcher", + "nameLocations": [ + "1212:10:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 771, + "src": "1212:10:20" + }, + "nodeType": "UsingForDirective", + "src": "1206:48:20", + "typeName": { + "id": 3310, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3309, + "name": "EVMFetcher.EVMFetchRequest", + "nameLocations": [ + "1227:10:20", + "1238:15:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "1227:26:20" + }, + "referencedDeclaration": 205, + "src": "1227:26:20", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_storage_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest" + } + } + }, + { + "global": false, + "id": 3314, + "libraryName": { + "id": 3312, + "name": "BytesUtils", + "nameLocations": [ + "1265:10:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2017, + "src": "1265:10:20" + }, + "nodeType": "UsingForDirective", + "src": "1259:27:20", + "typeName": { + "id": 3313, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1280:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "constant": false, + "functionSelector": "2b7ac3f3", + "id": 3317, + "mutability": "immutable", + "name": "verifier", + "nameLocation": "1321:8:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1291:38:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 3316, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3315, + "name": "IEVMVerifier", + "nameLocations": [ + "1291:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "1291:12:20" + }, + "referencedDeclaration": 798, + "src": "1291:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "3f15457f", + "id": 3320, + "mutability": "immutable", + "name": "ens", + "nameLocation": "1356:3:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1335:24:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 3319, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3318, + "name": "ENS", + "nameLocations": [ + "1335:3:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "1335:3:20" + }, + "referencedDeclaration": 1030, + "src": "1335:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "a8e5fbc0", + "id": 3323, + "mutability": "immutable", + "name": "nameWrapper", + "nameLocation": "1395:11:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1365:41:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + }, + "typeName": { + "id": 3322, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3321, + "name": "INameWrapper", + "nameLocations": [ + "1365:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2401, + "src": "1365:12:20" + }, + "referencedDeclaration": 2401, + "src": "1365:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d6ae3cd5", + "id": 3325, + "mutability": "immutable", + "name": "l2ChainId", + "nameLocation": "1437:9:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1412:34:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1412:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 3329, + "mutability": "mutable", + "name": "targets", + "nameLocation": "1519:7:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1491:35:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 3328, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1499:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1491:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1510:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3333, + "mutability": "mutable", + "name": "baseNodeResolvers", + "nameLocation": "1607:17:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1579:45:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 3332, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1587:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1579:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3337, + "mutability": "mutable", + "name": "targetAddrSlots", + "nameLocation": "1739:15:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1711:43:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 3336, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1719:7:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1711:27:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1730:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 3340, + "mutability": "constant", + "name": "ACCEPTED_L2_BLOCK_RANGE_LENGTH", + "nameLocation": "1860:30:20", + "nodeType": "VariableDeclaration", + "scope": 3993, + "src": "1843:55:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1843:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3836343030", + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1893:5:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "visibility": "internal" + }, + { + "anonymous": false, + "eventSelector": "88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8", + "id": 3346, + "name": "TargetSet", + "nameLocation": "1911:9:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3342, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "1927:4:20", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "1921:10:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3341, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1921:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3344, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "1941:6:20", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "1933:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1933:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1920:28:20" + }, + "src": "1905:44:20" + }, + { + "anonymous": false, + "eventSelector": "0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c", + "id": 3352, + "name": "BaseNodeResolverSet", + "nameLocation": "1960:19:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3348, + "indexed": false, + "mutability": "mutable", + "name": "node", + "nameLocation": "1988:4:20", + "nodeType": "VariableDeclaration", + "scope": 3352, + "src": "1980:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3347, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1980:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3350, + "indexed": false, + "mutability": "mutable", + "name": "resolverAddr", + "nameLocation": "2002:12:20", + "nodeType": "VariableDeclaration", + "scope": 3352, + "src": "1994:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1994:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1979:36:20" + }, + "src": "1954:62:20" + }, + { + "anonymous": false, + "eventSelector": "d24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e7", + "id": 3358, + "name": "TargetAddrSlotSet", + "nameLocation": "2027:17:20", + "nodeType": "EventDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3354, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "2053:6:20", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "2045:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2045:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3356, + "indexed": false, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2069:4:20", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "2061:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2061:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2044:30:20" + }, + "src": "2021:54:20" + }, + { + "body": { + "id": 3395, + "nodeType": "Block", + "src": "2146:195:20", + "statements": [ + { + "assignments": [ + 3366 + ], + "declarations": [ + { + "constant": false, + "id": 3366, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2164:5:20", + "nodeType": "VariableDeclaration", + "scope": 3395, + "src": "2156:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2156:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3371, + "initialValue": { + "arguments": [ + { + "id": 3369, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2182:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3367, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "2172:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2176:5:20", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 999, + "src": "2172:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2172:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2156:31:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3372, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2201:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 3375, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2218:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + ], + "id": 3374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2210:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2210:7:20", + "typeDescriptions": {} + } + }, + "id": 3376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2210:20:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2201:29:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3389, + "nodeType": "IfStatement", + "src": "2197:102:20", + "trueBody": { + "id": 3388, + "nodeType": "Block", + "src": "2232:67:20", + "statements": [ + { + "expression": { + "id": 3386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3378, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2246:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 3383, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "2282:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2274:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 3381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2274:7:20", + "typeDescriptions": {} + } + }, + "id": 3384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2274:13:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3379, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "2254:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2266:7:20", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 2331, + "src": "2254:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2254:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2246:42:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3387, + "nodeType": "ExpressionStatement", + "src": "2246:42:20" + } + ] + } + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3390, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "2315:5:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 3391, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2324:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2328:6:20", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2324:10:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2315:19:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3364, + "id": 3394, + "nodeType": "Return", + "src": "2308:26:20" + } + ] + }, + "id": 3396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAuthorised", + "nameLocation": "2090:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3360, + "mutability": "mutable", + "name": "node", + "nameLocation": "2111:4:20", + "nodeType": "VariableDeclaration", + "scope": 3396, + "src": "2103:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2103:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2102:14:20" + }, + "returnParameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3363, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3396, + "src": "2140:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3362, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2140:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2139:6:20" + }, + "scope": 3993, + "src": "2081:260:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "documentation": { + "id": 3397, + "nodeType": "StructuredDocumentation", + "src": "2347:261:20", + "text": " @dev EIP-5559 - Error to raise when mutations are being deferred to an L2.\n @param chainId Chain ID to perform the deferred mutation to.\n @param contractAddress Contract Address at which the deferred mutation should transact with." + }, + "errorSelector": "e0a05071", + "id": 3403, + "name": "StorageHandledByL2", + "nameLocation": "2619:18:20", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3399, + "mutability": "mutable", + "name": "chainId", + "nameLocation": "2646:7:20", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "2638:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3398, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2638:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3401, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "2663:15:20", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "2655:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2655:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2637:42:20" + }, + "src": "2613:67:20" + }, + { + "body": { + "id": 3473, + "nodeType": "Block", + "src": "3083:444:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3421, + "name": "_nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3413, + "src": "3122:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + ], + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3114:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3114:7:20", + "typeDescriptions": {} + } + }, + "id": 3422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:21:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3147:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3139:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3139:7:20", + "typeDescriptions": {} + } + }, + "id": 3426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3139:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3114:35:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e616d6520577261707065722061646472657373206d75737420626520736574", + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3163:34:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "typeString": "literal_string \"Name Wrapper address must be set\"" + }, + "value": "Name Wrapper address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "typeString": "literal_string \"Name Wrapper address must be set\"" + } + ], + "id": 3418, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3093:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3093:114:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3430, + "nodeType": "ExpressionStatement", + "src": "3093:114:20" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3434, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "3246:9:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + ], + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3238:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3238:7:20", + "typeDescriptions": {} + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3238:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3268:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3260:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3260:7:20", + "typeDescriptions": {} + } + }, + "id": 3439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3260:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3238:32:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "56657269666965722061646472657373206d75737420626520736574", + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3284:30:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "typeString": "literal_string \"Verifier address must be set\"" + }, + "value": "Verifier address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "typeString": "literal_string \"Verifier address must be set\"" + } + ], + "id": 3431, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3217:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3217:107:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3443, + "nodeType": "ExpressionStatement", + "src": "3217:107:20" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3447, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "3350:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + ], + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3342:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3342:7:20", + "typeDescriptions": {} + } + }, + "id": 3448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3342:13:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3367:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3359:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3359:7:20", + "typeDescriptions": {} + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3359:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3342:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52656769737472792061646472657373206d75737420626520736574", + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3371:30:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "typeString": "literal_string \"Registry address must be set\"" + }, + "value": "Registry address must be set" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "typeString": "literal_string \"Registry address must be set\"" + } + ], + "id": 3444, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3334:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3334:68:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3456, + "nodeType": "ExpressionStatement", + "src": "3334:68:20" + }, + { + "expression": { + "id": 3459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3457, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3317, + "src": "3412:8:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3458, + "name": "_verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "3423:9:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "src": "3412:20:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "id": 3460, + "nodeType": "ExpressionStatement", + "src": "3412:20:20" + }, + { + "expression": { + "id": 3463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3461, + "name": "ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3320, + "src": "3442:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3462, + "name": "_ens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "3448:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "src": "3442:10:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "id": 3464, + "nodeType": "ExpressionStatement", + "src": "3442:10:20" + }, + { + "expression": { + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3465, + "name": "nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "3462:11:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3466, + "name": "_nameWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3413, + "src": "3476:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "src": "3462:26:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "id": 3468, + "nodeType": "ExpressionStatement", + "src": "3462:26:20" + }, + { + "expression": { + "id": 3471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3469, + "name": "l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "3498:9:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3470, + "name": "_l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3415, + "src": "3510:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3498:22:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3472, + "nodeType": "ExpressionStatement", + "src": "3498:22:20" + } + ] + }, + "documentation": { + "id": 3404, + "nodeType": "StructuredDocumentation", + "src": "2686:261:20", + "text": " @param _verifier The chain verifier address.\n @param _ens The ENS registry address.\n @param _nameWrapper The ENS name wrapper address.\n @param _l2ChainId The chainId at which the resolver resolves data from." + }, + "id": 3474, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "_verifier", + "nameLocation": "2986:9:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "2973:22:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + "typeName": { + "id": 3406, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3405, + "name": "IEVMVerifier", + "nameLocations": [ + "2973:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 798, + "src": "2973:12:20" + }, + "referencedDeclaration": 798, + "src": "2973:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3410, + "mutability": "mutable", + "name": "_ens", + "nameLocation": "3009:4:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3005:8:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + }, + "typeName": { + "id": 3409, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3408, + "name": "ENS", + "nameLocations": [ + "3005:3:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1030, + "src": "3005:3:20" + }, + "referencedDeclaration": 1030, + "src": "3005:3:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ENS_$1030", + "typeString": "contract ENS" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3413, + "mutability": "mutable", + "name": "_nameWrapper", + "nameLocation": "3036:12:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3023:25:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + }, + "typeName": { + "id": 3412, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3411, + "name": "INameWrapper", + "nameLocations": [ + "3023:12:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2401, + "src": "3023:12:20" + }, + "referencedDeclaration": 2401, + "src": "3023:12:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INameWrapper_$2401", + "typeString": "contract INameWrapper" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3415, + "mutability": "mutable", + "name": "_l2ChainId", + "nameLocation": "3066:10:20", + "nodeType": "VariableDeclaration", + "scope": 3474, + "src": "3058:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3058:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2963:119:20" + }, + "returnParameters": { + "id": 3417, + "nodeType": "ParameterList", + "parameters": [], + "src": "3083:0:20" + }, + "scope": 3993, + "src": "2952:575:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 121 + ], + "body": { + "id": 3483, + "nodeType": "Block", + "src": "3706:54:20", + "statements": [ + { + "expression": { + "id": 3481, + "name": "ACCEPTED_L2_BLOCK_RANGE_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3340, + "src": "3723:30:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3480, + "id": 3482, + "nodeType": "Return", + "src": "3716:37:20" + } + ] + }, + "documentation": { + "id": 3475, + "nodeType": "StructuredDocumentation", + "src": "3533:52:20", + "text": " @dev inherits from EVMFetchTarget" + }, + "functionSelector": "6d74e86e", + "id": 3484, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAcceptedL2BlockRangeLength", + "nameLocation": "3599:29:20", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3477, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3667:8:20" + }, + "parameters": { + "id": 3476, + "nodeType": "ParameterList", + "parameters": [], + "src": "3628:2:20" + }, + "returnParameters": { + "id": 3480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3479, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3484, + "src": "3693:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3693:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3692:9:20" + }, + "scope": 3993, + "src": "3590:170:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3516, + "nodeType": "Block", + "src": "4019:238:20", + "statements": [ + { + "assignments": [ + 3493, + null + ], + "declarations": [ + { + "constant": false, + "id": 3493, + "mutability": "mutable", + "name": "node", + "nameLocation": "4038:4:20", + "nodeType": "VariableDeclaration", + "scope": 3516, + "src": "4030:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3492, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4030:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3497, + "initialValue": { + "arguments": [ + { + "id": 3495, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3487, + "src": "4058:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3494, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "4048:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4048:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4029:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3500, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3493, + "src": "4107:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3499, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "4094:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4094:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420666f722074686973206e6f6465", + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4126:44:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "typeString": "literal_string \"Not authorized to set target for this node\"" + }, + "value": "Not authorized to set target for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "typeString": "literal_string \"Not authorized to set target for this node\"" + } + ], + "id": 3498, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4073:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4073:107:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3504, + "nodeType": "ExpressionStatement", + "src": "4073:107:20" + }, + { + "expression": { + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3505, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "4190:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3507, + "indexExpression": { + "id": 3506, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3493, + "src": "4198:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4190:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3508, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3489, + "src": "4206:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4190:22:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3510, + "nodeType": "ExpressionStatement", + "src": "4190:22:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3512, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3487, + "src": "4237:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 3513, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3489, + "src": "4243:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3511, + "name": "TargetSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3346, + "src": "4227:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (bytes memory,address)" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4227:23:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3515, + "nodeType": "EmitStatement", + "src": "4222:28:20" + } + ] + }, + "documentation": { + "id": 3485, + "nodeType": "StructuredDocumentation", + "src": "3766:183:20", + "text": " Set target address to verify against.\n @param name The DNS encoded name to set the target for.\n @param target The L2 resolver address to verify against." + }, + "functionSelector": "d358df77", + "id": 3517, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setTarget", + "nameLocation": "3963:9:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3487, + "mutability": "mutable", + "name": "name", + "nameLocation": "3988:4:20", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "3973:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3486, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3973:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3489, + "mutability": "mutable", + "name": "target", + "nameLocation": "4002:6:20", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "3994:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3994:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3972:37:20" + }, + "returnParameters": { + "id": 3491, + "nodeType": "ParameterList", + "parameters": [], + "src": "4019:0:20" + }, + "scope": 3993, + "src": "3954:303:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3549, + "nodeType": "Block", + "src": "4548:272:20", + "statements": [ + { + "assignments": [ + 3526, + null + ], + "declarations": [ + { + "constant": false, + "id": 3526, + "mutability": "mutable", + "name": "node", + "nameLocation": "4567:4:20", + "nodeType": "VariableDeclaration", + "scope": 3549, + "src": "4559:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4559:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3530, + "initialValue": { + "arguments": [ + { + "id": 3528, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "4587:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3527, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "4577:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4577:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4558:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3533, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4636:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3532, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "4623:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4623:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f20736574207265736f6c76657220666f722074686973206e6f6465", + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4655:46:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "typeString": "literal_string \"Not authorized to set resolver for this node\"" + }, + "value": "Not authorized to set resolver for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "typeString": "literal_string \"Not authorized to set resolver for this node\"" + } + ], + "id": 3531, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4602:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4602:109:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3537, + "nodeType": "ExpressionStatement", + "src": "4602:109:20" + }, + { + "expression": { + "id": 3542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3538, + "name": "baseNodeResolvers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3333, + "src": "4721:17:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3540, + "indexExpression": { + "id": 3539, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4739:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4721:23:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3541, + "name": "resolverAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "4747:12:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4721:38:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3543, + "nodeType": "ExpressionStatement", + "src": "4721:38:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3545, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3526, + "src": "4794:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3546, + "name": "resolverAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "4800:12:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3544, + "name": "BaseNodeResolverSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3352, + "src": "4774:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4774:39:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3548, + "nodeType": "EmitStatement", + "src": "4769:44:20" + } + ] + }, + "documentation": { + "id": 3518, + "nodeType": "StructuredDocumentation", + "src": "4263:177:20", + "text": " Set base node resolver address.\n @param name The DNS encoded name to set the base node resolver.\n @param resolverAddr The resolver address to use." + }, + "functionSelector": "ac8a4a5d", + "id": 3550, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setBaseNodeResolver", + "nameLocation": "4454:19:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3520, + "mutability": "mutable", + "name": "name", + "nameLocation": "4498:4:20", + "nodeType": "VariableDeclaration", + "scope": 3550, + "src": "4483:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3519, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4483:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3522, + "mutability": "mutable", + "name": "resolverAddr", + "nameLocation": "4520:12:20", + "nodeType": "VariableDeclaration", + "scope": 3550, + "src": "4512:20:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4512:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4473:65:20" + }, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [], + "src": "4548:0:20" + }, + "scope": 3993, + "src": "4445:375:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3588, + "nodeType": "Block", + "src": "5112:307:20", + "statements": [ + { + "assignments": [ + 3559, + null + ], + "declarations": [ + { + "constant": false, + "id": 3559, + "mutability": "mutable", + "name": "node", + "nameLocation": "5131:4:20", + "nodeType": "VariableDeclaration", + "scope": 3588, + "src": "5123:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3558, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5123:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3563, + "initialValue": { + "arguments": [ + { + "id": 3561, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3553, + "src": "5151:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3560, + "name": "getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "5141:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory) view returns (bytes32,address)" + } + }, + "id": 3562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5141:15:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5122:34:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3566, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "5200:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3565, + "name": "isAuthorised", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "5187:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5187:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f2073657420746172676574206164647265737320736c6f7420666f722074686973206e6f6465", + "id": 3568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5219:57:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "typeString": "literal_string \"Not authorized to set target address slot for this node\"" + }, + "value": "Not authorized to set target address slot for this node" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "typeString": "literal_string \"Not authorized to set target address slot for this node\"" + } + ], + "id": 3564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5166:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5166:120:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3570, + "nodeType": "ExpressionStatement", + "src": "5166:120:20" + }, + { + "assignments": [ + 3572 + ], + "declarations": [ + { + "constant": false, + "id": 3572, + "mutability": "mutable", + "name": "target", + "nameLocation": "5304:6:20", + "nodeType": "VariableDeclaration", + "scope": 3588, + "src": "5296:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5296:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3576, + "initialValue": { + "baseExpression": { + "id": 3573, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "5313:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3575, + "indexExpression": { + "id": 3574, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "5321:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5313:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5296:30:20" + }, + { + "expression": { + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3577, + "name": "targetAddrSlots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3337, + "src": "5336:15:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3579, + "indexExpression": { + "id": 3578, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "5352:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5336:23:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3580, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3555, + "src": "5362:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5336:30:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3582, + "nodeType": "ExpressionStatement", + "src": "5336:30:20" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3584, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3572, + "src": "5399:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3585, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3555, + "src": "5407:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3583, + "name": "TargetAddrSlotSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3358, + "src": "5381:17:20", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5381:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3587, + "nodeType": "EmitStatement", + "src": "5376:36:20" + } + ] + }, + "documentation": { + "id": 3551, + "nodeType": "StructuredDocumentation", + "src": "4826:210:20", + "text": " Set the slot to query by ccip to get the address from the target contract.\n @param name The DNS encoded name to set the target address slot to query.\n @param slot The slot to set." + }, + "functionSelector": "ac177c37", + "id": 3589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setTargetAddrSlot", + "nameLocation": "5050:17:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3553, + "mutability": "mutable", + "name": "name", + "nameLocation": "5083:4:20", + "nodeType": "VariableDeclaration", + "scope": 3589, + "src": "5068:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3552, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5068:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3555, + "mutability": "mutable", + "name": "slot", + "nameLocation": "5097:4:20", + "nodeType": "VariableDeclaration", + "scope": 3589, + "src": "5089:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5089:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5067:35:20" + }, + "returnParameters": { + "id": 3557, + "nodeType": "ParameterList", + "parameters": [], + "src": "5112:0:20" + }, + "scope": 3993, + "src": "5041:378:20", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3046 + ], + "body": { + "id": 3604, + "nodeType": "Block", + "src": "5779:43:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3600, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "5807:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 3601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5813:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3599, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "5796:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5796:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3598, + "id": 3603, + "nodeType": "Return", + "src": "5789:26:20" + } + ] + }, + "documentation": { + "id": 3590, + "nodeType": "StructuredDocumentation", + "src": "5425:246:20", + "text": " @dev Returns the L2 target address that can answer queries for `name`.\n @param name DNS encoded ENS name to query.\n @return node The node of the name.\n @return target The L2 resolver address to verify against." + }, + "functionSelector": "15f64386", + "id": 3605, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTarget", + "nameLocation": "5685:9:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3592, + "mutability": "mutable", + "name": "name", + "nameLocation": "5717:4:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5704:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3591, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5704:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5694:33:20" + }, + "returnParameters": { + "id": 3598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3595, + "mutability": "mutable", + "name": "node", + "nameLocation": "5757:4:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5749:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5749:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3597, + "mutability": "mutable", + "name": "target", + "nameLocation": "5771:6:20", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "5763:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5763:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5748:30:20" + }, + "scope": 3993, + "src": "5676:146:20", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3699, + "nodeType": "Block", + "src": "5957:497:20", + "statements": [ + { + "assignments": [ + 3617 + ], + "declarations": [ + { + "constant": false, + "id": 3617, + "mutability": "mutable", + "name": "len", + "nameLocation": "5975:3:20", + "nodeType": "VariableDeclaration", + "scope": 3699, + "src": "5967:11:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5967:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3622, + "initialValue": { + "arguments": [ + { + "id": 3620, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "5996:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3618, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "5981:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5986:9:20", + "memberName": "readUint8", + "nodeType": "MemberAccess", + "referencedDeclaration": 1552, + "src": "5981:14:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256) pure returns (uint8)" + } + }, + "id": 3621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5981:22:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5967:36:20" + }, + { + "expression": { + "id": 3628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3623, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6013:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "30", + "id": 3626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6028:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6020:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6020:7:20", + "typeDescriptions": {} + } + }, + "id": 3627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6020:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6013:17:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3629, + "nodeType": "ExpressionStatement", + "src": "6013:17:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3630, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6044:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6050:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6044:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3693, + "nodeType": "Block", + "src": "6361:56:20", + "statements": [ + { + "expression": { + "components": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 3685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6391:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6383:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6383:7:20", + "typeDescriptions": {} + } + }, + "id": 3686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6383:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 3689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6403:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6395:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3687, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6395:7:20", + "typeDescriptions": {} + } + }, + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6395:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3691, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6382:24:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3692, + "nodeType": "Return", + "src": "6375:31:20" + } + ] + }, + "id": 3694, + "nodeType": "IfStatement", + "src": "6040:377:20", + "trueBody": { + "id": 3682, + "nodeType": "Block", + "src": "6053:302:20", + "statements": [ + { + "assignments": [ + 3634 + ], + "declarations": [ + { + "constant": false, + "id": 3634, + "mutability": "mutable", + "name": "label", + "nameLocation": "6075:5:20", + "nodeType": "VariableDeclaration", + "scope": 3682, + "src": "6067:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3633, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6067:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3642, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3637, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "6095:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6104:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6095:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3640, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6107:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3635, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "6083:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6088:6:20", + "memberName": "keccak", + "nodeType": "MemberAccess", + "referencedDeclaration": 1111, + "src": "6083:11:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes32)" + } + }, + "id": 3641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6083:28:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6067:44:20" + }, + { + "expression": { + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 3643, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6126:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3644, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3614, + "src": "6132:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3645, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6125:14:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3647, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "6153:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3648, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "6159:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3649, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3617, + "src": "6168:3:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6159:12:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6174:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6159:16:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3646, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "6142:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6142:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "src": "6125:51:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3655, + "nodeType": "ExpressionStatement", + "src": "6125:51:20" + }, + { + "expression": { + "id": 3664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3656, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6190:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 3660, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6224:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3661, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3634, + "src": "6230:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3658, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6207:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6211:12:20", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6207:16:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6207:29:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3657, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "6197:9:20", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6197:40:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6190:47:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3665, + "nodeType": "ExpressionStatement", + "src": "6190:47:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3666, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "6255:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3668, + "indexExpression": { + "id": 3667, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6263:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6255:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6280:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6272:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6272:7:20", + "typeDescriptions": {} + } + }, + "id": 3672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6272:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6255:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3681, + "nodeType": "IfStatement", + "src": "6251:94:20", + "trueBody": { + "id": 3680, + "nodeType": "Block", + "src": "6284:61:20", + "statements": [ + { + "expression": { + "components": [ + { + "id": 3674, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6310:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 3675, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "6316:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3677, + "indexExpression": { + "id": 3676, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6324:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6316:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3678, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6309:21:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3679, + "nodeType": "Return", + "src": "6302:28:20" + } + ] + } + } + ] + } + }, + { + "expression": { + "components": [ + { + "id": 3695, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3612, + "src": "6434:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3696, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3614, + "src": "6440:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 3697, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6433:14:20", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "functionReturnParameters": 3615, + "id": 3698, + "nodeType": "Return", + "src": "6426:21:20" + } + ] + }, + "id": 3700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getTarget", + "nameLocation": "5837:10:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3607, + "mutability": "mutable", + "name": "name", + "nameLocation": "5870:4:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5857:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3606, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5857:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "mutability": "mutable", + "name": "offset", + "nameLocation": "5892:6:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5884:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5884:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5847:57:20" + }, + "returnParameters": { + "id": 3615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3612, + "mutability": "mutable", + "name": "node", + "nameLocation": "5935:4:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5927:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3611, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5927:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3614, + "mutability": "mutable", + "name": "target", + "nameLocation": "5949:6:20", + "nodeType": "VariableDeclaration", + "scope": 3700, + "src": "5941:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3613, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5941:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5926:30:20" + }, + "scope": 3993, + "src": "5828:626:20", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "baseFunctions": [ + 1080 + ], + "body": { + "id": 3808, + "nodeType": "Block", + "src": "6876:982:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3711, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "6894:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 3712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6899:6:20", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6894:11:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "34", + "id": 3713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6909:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "6894:16:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "706172616d206461746120746f6f2073686f7274", + "id": 3715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6912:22:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "typeString": "literal_string \"param data too short\"" + }, + "value": "param data too short" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "typeString": "literal_string \"param data too short\"" + } + ], + "id": 3710, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6886:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6886:49:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3717, + "nodeType": "ExpressionStatement", + "src": "6886:49:20" + }, + { + "assignments": [ + 3719 + ], + "declarations": [ + { + "constant": false, + "id": 3719, + "mutability": "mutable", + "name": "node", + "nameLocation": "6954:4:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "6946:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6946:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3729, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3722, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "6972:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "6972:8:20", + "startExpression": { + "hexValue": "34", + "id": 3723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6977:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + { + "components": [ + { + "id": 3726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6983:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 3725, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6983:7:20", + "typeDescriptions": {} + } + } + ], + "id": 3727, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6982:9:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 3720, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6961:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6965:6:20", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "6961:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6961:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6946:46:20" + }, + { + "assignments": [ + 3731 + ], + "declarations": [ + { + "constant": false, + "id": 3731, + "mutability": "mutable", + "name": "isBaseDomain", + "nameLocation": "7007:12:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7002:17:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3730, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7002:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 3740, + "initialValue": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 3732, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "7022:7:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3734, + "indexExpression": { + "id": 3733, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3719, + "src": "7030:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7022:13:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7047:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7039:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7039:7:20", + "typeDescriptions": {} + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7039:10:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7022:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7002:47:20" + }, + { + "condition": { + "id": 3741, + "name": "isBaseDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3731, + "src": "7139:12:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3754, + "nodeType": "IfStatement", + "src": "7135:146:20", + "trueBody": { + "id": 3753, + "nodeType": "Block", + "src": "7153:128:20", + "statements": [ + { + "assignments": [ + 3743 + ], + "declarations": [ + { + "constant": false, + "id": 3743, + "mutability": "mutable", + "name": "baseNodeResolver", + "nameLocation": "7175:16:20", + "nodeType": "VariableDeclaration", + "scope": 3753, + "src": "7167:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7167:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3747, + "initialValue": { + "baseExpression": { + "id": 3744, + "name": "baseNodeResolvers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3333, + "src": "7194:17:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 3746, + "indexExpression": { + "id": 3745, + "name": "node", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3719, + "src": "7212:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7194:23:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7167:50:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3749, + "name": "baseNodeResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "7247:16:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3750, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "7265:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3748, + "name": "_resolve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3887, + "src": "7238:8:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) view returns (bytes memory)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7238:32:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3709, + "id": 3752, + "nodeType": "Return", + "src": "7231:39:20" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3758, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7363:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 3756, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "7340:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7351:11:20", + "memberName": "countLabels", + "nodeType": "MemberAccess", + "referencedDeclaration": 3271, + "src": "7340:22:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 3759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7340:28:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "33", + "id": 3760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7372:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "7340:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6f206d616e7920737562646f6d61696e206c6576656c73", + "id": 3762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7375:27:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "typeString": "literal_string \"Too many subdomain levels\"" + }, + "value": "Too many subdomain levels" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "typeString": "literal_string \"Too many subdomain levels\"" + } + ], + "id": 3755, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7332:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7332:71:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3764, + "nodeType": "ExpressionStatement", + "src": "7332:71:20" + }, + { + "assignments": [ + null, + 3766 + ], + "declarations": [ + null, + { + "constant": false, + "id": 3766, + "mutability": "mutable", + "name": "target", + "nameLocation": "7425:6:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7417:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7417:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3771, + "initialValue": { + "arguments": [ + { + "id": 3768, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7446:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7452:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3767, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "7435:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7435:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7414:40:20" + }, + { + "assignments": [ + 3773 + ], + "declarations": [ + { + "constant": false, + "id": 3773, + "mutability": "mutable", + "name": "selector", + "nameLocation": "7472:8:20", + "nodeType": "VariableDeclaration", + "scope": 3808, + "src": "7465:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3772, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7465:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 3778, + "initialValue": { + "arguments": [ + { + "id": 3776, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3705, + "src": "7490:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7483:6:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 3774, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "7483:6:20", + "typeDescriptions": {} + } + }, + "id": 3777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7483:12:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7465:30:20" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3779, + "name": "selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3773, + "src": "7510:8:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "id": 3780, + "name": "IAddrResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "7522:13:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAddrResolver_$1048_$", + "typeString": "type(contract IAddrResolver)" + } + }, + "id": 3781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7536:4:20", + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 1047, + "src": "7522:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_view$_t_bytes32_$returns$_t_address_payable_$", + "typeString": "function IAddrResolver.addr(bytes32) view returns (address payable)" + } + }, + "id": 3782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7541:8:20", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "7522:27:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "7510:39:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3803, + "nodeType": "IfStatement", + "src": "7506:258:20", + "trueBody": { + "id": 3802, + "nodeType": "Block", + "src": "7551:213:20", + "statements": [ + { + "assignments": [ + 3785 + ], + "declarations": [ + { + "constant": false, + "id": 3785, + "mutability": "mutable", + "name": "nftId", + "nameLocation": "7628:5:20", + "nodeType": "VariableDeclaration", + "scope": 3802, + "src": "7620:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7620:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3789, + "initialValue": { + "arguments": [ + { + "id": 3787, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3703, + "src": "7649:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 3786, + "name": "extractNFTId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3838, + "src": "7636:12:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes calldata) pure returns (uint256)" + } + }, + "id": 3788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7636:18:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7620:34:20" + }, + { + "assignments": [ + 3791 + ], + "declarations": [ + { + "constant": false, + "id": 3791, + "mutability": "mutable", + "name": "slot", + "nameLocation": "7676:4:20", + "nodeType": "VariableDeclaration", + "scope": 3802, + "src": "7668:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7668:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3795, + "initialValue": { + "baseExpression": { + "id": 3792, + "name": "targetAddrSlots", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3337, + "src": "7683:15:20", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3794, + "indexExpression": { + "id": 3793, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "src": "7699:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7683:23:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7668:38:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3797, + "name": "nftId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "7733:5:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3798, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "7740:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3799, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3766, + "src": "7746:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3796, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3918, + "src": "7727:5:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256,uint256,address) view returns (bytes memory)" + } + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7727:26:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3709, + "id": 3801, + "nodeType": "Return", + "src": "7720:33:20" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "hexValue": "696e76616c69642073656c6563746f72", + "id": 3805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7832:18:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "typeString": "literal_string \"invalid selector\"" + }, + "value": "invalid selector" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "typeString": "literal_string \"invalid selector\"" + } + ], + "id": 3804, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "7825:6:20", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 3806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7825:26:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3807, + "nodeType": "ExpressionStatement", + "src": "7825:26:20" + } + ] + }, + "documentation": { + "id": 3701, + "nodeType": "StructuredDocumentation", + "src": "6460:286:20", + "text": " @dev Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\n @param name DNS encoded ENS name to query.\n @param data The actual calldata.\n @return result Result of the call." + }, + "functionSelector": "9061b923", + "id": 3809, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolve", + "nameLocation": "6760:7:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3703, + "mutability": "mutable", + "name": "name", + "nameLocation": "6792:4:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6777:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3702, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6777:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3705, + "mutability": "mutable", + "name": "data", + "nameLocation": "6821:4:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6806:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3704, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6806:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6767:64:20" + }, + "returnParameters": { + "id": 3709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3708, + "mutability": "mutable", + "name": "result", + "nameLocation": "6868:6:20", + "nodeType": "VariableDeclaration", + "scope": 3809, + "src": "6855:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3707, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6855:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6854:21:20" + }, + "scope": 3993, + "src": "6751:1107:20", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3837, + "nodeType": "Block", + "src": "8073:256:20", + "statements": [ + { + "assignments": [ + 3818 + ], + "declarations": [ + { + "constant": false, + "id": 3818, + "mutability": "mutable", + "name": "firstLabel", + "nameLocation": "8096:10:20", + "nodeType": "VariableDeclaration", + "scope": 3837, + "src": "8083:23:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3817, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8083:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3823, + "initialValue": { + "arguments": [ + { + "id": 3821, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3812, + "src": "8138:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 3819, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8109:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8120:17:20", + "memberName": "extractFirstLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 3106, + "src": "8109:28:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (bytes memory)" + } + }, + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8109:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8083:60:20" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3827, + "name": "firstLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "8225:10:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3825, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8205:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8216:8:20", + "memberName": "isNumber", + "nodeType": "MemberAccess", + "referencedDeclaration": 3219, + "src": "8205:19:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) pure returns (bool)" + } + }, + "id": 3828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8205:31:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c6162656c206973206e6f742061206e756d626572", + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8238:23:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "typeString": "literal_string \"Label is not a number\"" + }, + "value": "Label is not a number" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "typeString": "literal_string \"Label is not a number\"" + } + ], + "id": 3824, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8197:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8197:65:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3831, + "nodeType": "ExpressionStatement", + "src": "8197:65:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3834, + "name": "firstLabel", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "8311:10:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3832, + "name": "LabelUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3272, + "src": "8279:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LabelUtils_$3272_$", + "typeString": "type(library LabelUtils)" + } + }, + "id": 3833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8290:20:20", + "memberName": "extractNumericSuffix", + "nodeType": "MemberAccess", + "referencedDeclaration": 3180, + "src": "8279:31:20", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8279:43:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3816, + "id": 3836, + "nodeType": "Return", + "src": "8272:50:20" + } + ] + }, + "documentation": { + "id": 3810, + "nodeType": "StructuredDocumentation", + "src": "7864:131:20", + "text": " Get the NFT Id from the ENS name's label.\n @param name DNS encoded ENS name.\n @return id The NFT id." + }, + "functionSelector": "1a33ddae", + "id": 3838, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractNFTId", + "nameLocation": "8009:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3812, + "mutability": "mutable", + "name": "name", + "nameLocation": "8037:4:20", + "nodeType": "VariableDeclaration", + "scope": 3838, + "src": "8022:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3811, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8022:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8021:21:20" + }, + "returnParameters": { + "id": 3816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3815, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3838, + "src": "8064:7:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8064:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8063:9:20" + }, + "scope": 3993, + "src": "8000:329:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 3034 + ], + "body": { + "id": 3859, + "nodeType": "Block", + "src": "8663:89:20", + "statements": [ + { + "assignments": [ + null, + 3849 + ], + "declarations": [ + null, + { + "constant": false, + "id": 3849, + "mutability": "mutable", + "name": "target", + "nameLocation": "8684:6:20", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "8676:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8676:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3854, + "initialValue": { + "arguments": [ + { + "id": 3851, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3841, + "src": "8705:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "hexValue": "30", + "id": 3852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8711:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3850, + "name": "_getTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3700, + "src": "8694:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$_t_address_$", + "typeString": "function (bytes memory,uint256) view returns (bytes32,address)" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8694:19:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$", + "typeString": "tuple(bytes32,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8673:40:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3856, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3849, + "src": "8738:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3855, + "name": "_writeDeferral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3992, + "src": "8723:14:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", + "typeString": "function (address) view" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8723:22:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3858, + "nodeType": "ExpressionStatement", + "src": "8723:22:20" + } + ] + }, + "documentation": { + "id": 3839, + "nodeType": "StructuredDocumentation", + "src": "8335:204:20", + "text": " @dev Resolve and throws an EIP 3559 compliant error.\n @param name DNS encoded ENS name to query.\n @param _addr The actual calldata.\n @return result Result of the call." + }, + "functionSelector": "f00eebf4", + "id": 3860, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAddr", + "nameLocation": "8553:7:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3841, + "mutability": "mutable", + "name": "name", + "nameLocation": "8585:4:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8570:19:20", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3840, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8570:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3843, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "8607:5:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8599:13:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8599:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8560:58:20" + }, + "returnParameters": { + "id": 3847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3846, + "mutability": "mutable", + "name": "result", + "nameLocation": "8655:6:20", + "nodeType": "VariableDeclaration", + "scope": 3860, + "src": "8642:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3845, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8642:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8641:21:20" + }, + "scope": 3993, + "src": "8544:208:20", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3886, + "nodeType": "Block", + "src": "9502:318:20", + "statements": [ + { + "assignments": [ + 3871, + 3873 + ], + "declarations": [ + { + "constant": false, + "id": 3871, + "mutability": "mutable", + "name": "success", + "nameLocation": "9518:7:20", + "nodeType": "VariableDeclaration", + "scope": 3886, + "src": "9513:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3870, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9513:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3873, + "mutability": "mutable", + "name": "result", + "nameLocation": "9540:6:20", + "nodeType": "VariableDeclaration", + "scope": 3886, + "src": "9527:19:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3872, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9527:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3878, + "initialValue": { + "arguments": [ + { + "id": 3876, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3865, + "src": "9578:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3874, + "name": "baseNodeResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3863, + "src": "9550:16:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9567:10:20", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "9550:27:20", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 3877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9550:33:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9512:71:20" + }, + { + "condition": { + "id": 3879, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3871, + "src": "9597:7:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3884, + "nodeType": "Block", + "src": "9650:164:20", + "statements": [ + { + "AST": { + "nativeSrc": "9732:72:20", + "nodeType": "YulBlock", + "src": "9732:72:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nativeSrc": "9761:6:20", + "nodeType": "YulIdentifier", + "src": "9761:6:20" + }, + { + "kind": "number", + "nativeSrc": "9769:4:20", + "nodeType": "YulLiteral", + "src": "9769:4:20", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9757:3:20", + "nodeType": "YulIdentifier", + "src": "9757:3:20" + }, + "nativeSrc": "9757:17:20", + "nodeType": "YulFunctionCall", + "src": "9757:17:20" + }, + { + "arguments": [ + { + "name": "result", + "nativeSrc": "9782:6:20", + "nodeType": "YulIdentifier", + "src": "9782:6:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9776:5:20", + "nodeType": "YulIdentifier", + "src": "9776:5:20" + }, + "nativeSrc": "9776:13:20", + "nodeType": "YulFunctionCall", + "src": "9776:13:20" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9750:6:20", + "nodeType": "YulIdentifier", + "src": "9750:6:20" + }, + "nativeSrc": "9750:40:20", + "nodeType": "YulFunctionCall", + "src": "9750:40:20" + }, + "nativeSrc": "9750:40:20", + "nodeType": "YulExpressionStatement", + "src": "9750:40:20" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3873, + "isOffset": false, + "isSlot": false, + "src": "9761:6:20", + "valueSize": 1 + }, + { + "declaration": 3873, + "isOffset": false, + "isSlot": false, + "src": "9782:6:20", + "valueSize": 1 + } + ], + "id": 3883, + "nodeType": "InlineAssembly", + "src": "9723:81:20" + } + ] + }, + "id": 3885, + "nodeType": "IfStatement", + "src": "9593:221:20", + "trueBody": { + "id": 3882, + "nodeType": "Block", + "src": "9606:38:20", + "statements": [ + { + "expression": { + "id": 3880, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "9627:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3869, + "id": 3881, + "nodeType": "Return", + "src": "9620:13:20" + } + ] + } + } + ] + }, + "documentation": { + "id": 3861, + "nodeType": "StructuredDocumentation", + "src": "8758:617:20", + "text": " @dev The `PublicResolver` does not implement the `resolve(bytes,bytes)` method.\n This method completes the resolution request by staticcalling `PublicResolver` with the resolve request.\n Implementation matches the ENS `ExtendedResolver:resolve(bytes,bytes)` method with the exception that it `staticcall`s the\n the `rootResolver` instead of `address(this)`.\n @param data The ABI encoded data for the underlying resolution function (Eg, addr(bytes32), text(bytes32,string), etc).\n @return The return data, ABI encoded identically to the underlying function." + }, + "id": 3887, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_resolve", + "nameLocation": "9389:8:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3863, + "mutability": "mutable", + "name": "baseNodeResolver", + "nameLocation": "9415:16:20", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9407:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9407:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3865, + "mutability": "mutable", + "name": "data", + "nameLocation": "9454:4:20", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9441:17:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3864, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9441:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9397:67:20" + }, + "returnParameters": { + "id": 3869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3868, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "9488:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3867, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9488:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9487:14:20" + }, + "scope": 3993, + "src": "9380:440:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3917, + "nodeType": "Block", + "src": "9954:202:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "expression": { + "id": 3911, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "10100:4:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NFTResolver_$3993", + "typeString": "contract NFTResolver" + } + }, + "id": 3912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10105:12:20", + "memberName": "addrCallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 3946, + "src": "10100:17:20", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory[] memory,bytes memory) pure external returns (bytes memory)" + } + }, + "id": 3913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10118:8:20", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "10100:26:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "hexValue": "", + "id": 3914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10128:2:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "arguments": [ + { + "id": 3908, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3889, + "src": "10072:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3905, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3891, + "src": "10045:4:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3901, + "name": "verifier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3317, + "src": "10004:8:20", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + } + }, + { + "id": 3902, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3893, + "src": "10014:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEVMVerifier_$798", + "typeString": "contract IEVMVerifier" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3898, + "name": "EVMFetcher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "9964:10:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_EVMFetcher_$771_$", + "typeString": "type(library EVMFetcher)" + } + }, + "id": 3900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9988:15:20", + "memberName": "newFetchRequest", + "nodeType": "MemberAccess", + "referencedDeclaration": 249, + "src": "9964:39:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_contract$_IEVMVerifier_$798_$_t_address_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (contract IEVMVerifier,address) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:57:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10035:9:20", + "memberName": "getStatic", + "nodeType": "MemberAccess", + "referencedDeclaration": 326, + "src": "9964:80:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint256_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint256) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:86:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10064:7:20", + "memberName": "element", + "nodeType": "MemberAccess", + "referencedDeclaration": 438, + "src": "9964:107:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_uint256_$returns$_t_struct$_EVMFetchRequest_$205_memory_ptr_$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,uint256) pure returns (struct EVMFetcher.EVMFetchRequest memory)" + } + }, + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:116:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_EVMFetchRequest_$205_memory_ptr", + "typeString": "struct EVMFetcher.EVMFetchRequest memory" + } + }, + "id": 3910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10094:5:20", + "memberName": "fetch", + "nodeType": "MemberAccess", + "referencedDeclaration": 692, + "src": "9964:135:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_EVMFetchRequest_$205_memory_ptr_$_t_bytes4_$_t_bytes_memory_ptr_$returns$__$attached_to$_t_struct$_EVMFetchRequest_$205_memory_ptr_$", + "typeString": "function (struct EVMFetcher.EVMFetchRequest memory,bytes4,bytes memory) view" + } + }, + "id": 3915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9964:167:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3916, + "nodeType": "ExpressionStatement", + "src": "9964:167:20" + } + ] + }, + "id": 3918, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addr", + "nameLocation": "9835:5:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3889, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "9858:7:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9850:15:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9850:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3891, + "mutability": "mutable", + "name": "slot", + "nameLocation": "9883:4:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9875:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9875:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3893, + "mutability": "mutable", + "name": "target", + "nameLocation": "9905:6:20", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9897:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9897:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9840:77:20" + }, + "returnParameters": { + "id": 3897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3896, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3918, + "src": "9940:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3895, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9940:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9939:14:20" + }, + "scope": 3993, + "src": "9826:330:20", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 3945, + "nodeType": "Block", + "src": "10280:97:20", + "statements": [ + { + "assignments": [ + 3929 + ], + "declarations": [ + { + "constant": false, + "id": 3929, + "mutability": "mutable", + "name": "addr", + "nameLocation": "10298:4:20", + "nodeType": "VariableDeclaration", + "scope": 3945, + "src": "10290:12:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3928, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10290:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 3939, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 3932, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3921, + "src": "10316:6:20", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 3934, + "indexExpression": { + "hexValue": "30", + "id": 3933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10323:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10316:9:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10328:7:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10328:7:20", + "typeDescriptions": {} + } + } + ], + "id": 3937, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10327:9:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 3930, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10305:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10309:6:20", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "10305:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10305:32:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10290:47:20" + }, + { + "expression": { + "arguments": [ + { + "id": 3942, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3929, + "src": "10365:4:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3940, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10354:3:20", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10358:6:20", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "10354:10:20", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10354:16:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3927, + "id": 3944, + "nodeType": "Return", + "src": "10347:23:20" + } + ] + }, + "functionSelector": "f470901a", + "id": 3946, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrCallback", + "nameLocation": "10171:12:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3921, + "mutability": "mutable", + "name": "values", + "nameLocation": "10208:6:20", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10193:21:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 3919, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10193:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 3920, + "nodeType": "ArrayTypeName", + "src": "10193:7:20", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3923, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10224:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3922, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10224:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10183:59:20" + }, + "returnParameters": { + "id": 3927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3926, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3946, + "src": "10266:12:20", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3925, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10266:5:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10265:14:20" + }, + "scope": 3993, + "src": "10162:215:20", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3010 + ], + "body": { + "id": 3980, + "nodeType": "Block", + "src": "10480:262:20", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3954, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10509:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3956, + "name": "IExtendedResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "10529:17:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IExtendedResolver_$1081_$", + "typeString": "type(contract IExtendedResolver)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IExtendedResolver_$1081_$", + "typeString": "type(contract IExtendedResolver)" + } + ], + "id": 3955, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10524:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10524:23:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IExtendedResolver_$1081", + "typeString": "type(contract IExtendedResolver)" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10548:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10524:35:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10509:50:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3960, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10575:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3962, + "name": "ITargetResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3047, + "src": "10595:15:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ITargetResolver_$3047_$", + "typeString": "type(contract ITargetResolver)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_ITargetResolver_$3047_$", + "typeString": "type(contract ITargetResolver)" + } + ], + "id": 3961, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10590:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10590:21:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_ITargetResolver_$3047", + "typeString": "type(contract ITargetResolver)" + } + }, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10612:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10590:33:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10575:48:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:114:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 3972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3967, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10639:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 3969, + "name": "IAddrSetter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3035, + "src": "10659:11:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAddrSetter_$3035_$", + "typeString": "type(contract IAddrSetter)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IAddrSetter_$3035_$", + "typeString": "type(contract IAddrSetter)" + } + ], + "id": 3968, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10654:4:20", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10654:17:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IAddrSetter_$3035", + "typeString": "type(contract IAddrSetter)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10672:11:20", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "10654:29:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "10639:44:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:174:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 3976, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "10723:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3974, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "10699:5:20", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFTResolver_$3993_$", + "typeString": "type(contract super NFTResolver)" + } + }, + "id": 3975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10705:17:20", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 3010, + "src": "10699:23:20", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10699:36:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10509:226:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3953, + "id": 3979, + "nodeType": "Return", + "src": "10490:245:20" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 3981, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "10392:17:20", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3950, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "10456:8:20" + }, + "parameters": { + "id": 3949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3948, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "10426:11:20", + "nodeType": "VariableDeclaration", + "scope": 3981, + "src": "10419:18:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3947, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10419:6:20", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "10409:34:20" + }, + "returnParameters": { + "id": 3953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3952, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3981, + "src": "10474:4:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10474:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10473:6:20" + }, + "scope": 3993, + "src": "10383:359:20", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3991, + "nodeType": "Block", + "src": "10802:61:20", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 3987, + "name": "l2ChainId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "10838:9:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3988, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3983, + "src": "10849:6:20", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3986, + "name": "StorageHandledByL2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3403, + "src": "10819:18:20", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address) pure" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10819:37:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3990, + "nodeType": "RevertStatement", + "src": "10812:44:20" + } + ] + }, + "id": 3992, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_writeDeferral", + "nameLocation": "10757:14:20", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3983, + "mutability": "mutable", + "name": "target", + "nameLocation": "10780:6:20", + "nodeType": "VariableDeclaration", + "scope": 3992, + "src": "10772:14:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10772:7:20", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10771:16:20" + }, + "returnParameters": { + "id": 3985, + "nodeType": "ParameterList", + "parameters": [], + "src": "10802:0:20" + }, + "scope": 3993, + "src": "10748:115:20", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3994, + "src": "1084:9781:20", + "usedErrors": [ + 15, + 170, + 172, + 191, + 3403 + ], + "usedEvents": [ + 3346, + 3352, + 3358 + ] + } + ], + "src": "39:10827:20" + }, + "id": 20 + } + }, + "contracts": { + "@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol": { + "EVMFetchTarget": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + } + ], + "name": "ResponseLengthMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "getAcceptedL2BlockRangeLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "response", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extradata", + "type": "bytes" + } + ], + "name": "getStorageSlotsCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getAcceptedL2BlockRangeLength()": "6d74e86e", + "getStorageSlotsCallback(bytes,bytes)": "5bdaa916" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"ResponseLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"getAcceptedL2BlockRangeLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extradata\",\"type\":\"bytes\"}],\"name\":\"getStorageSlotsCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Callback implementation for users of `EVMFetcher`. If you use `EVMFetcher`, your contract must inherit from this contract in order to handle callbacks correctly.\",\"kind\":\"dev\",\"methods\":{\"getAcceptedL2BlockRangeLength()\":{\"details\":\"The child contract has to return an accepted L2 block range used by the verifier to verify that the block number verified is in the accepted block range.\"},\"getStorageSlotsCallback(bytes,bytes)\":{\"details\":\"Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":\"EVMFetchTarget\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@consensys/linea-state-verifier/contracts/EVMFetcher.sol": { + "EVMFetcher": { + "abi": [ + { + "inputs": [], + "name": "CommandTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "InvalidReference", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "TooManyCommands", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122071244fd5c5d2fe392c774bee9e111d3a3ae7d1ae936780a0f137f2f43612dc0364736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x244FD5C5D2FE392C774BEE9E111D3A3AE7D1 0xAE SWAP4 PUSH8 0x80A0F137F2F43612 0xDC SUB PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "739:9478:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122071244fd5c5d2fe392c774bee9e111d3a3ae7d1ae936780a0f137f2f43612dc0364736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH18 0x244FD5C5D2FE392C774BEE9E111D3A3AE7D1 0xAE SWAP4 PUSH8 0x80A0F137F2F43612 0xDC SUB PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "739:9478:1:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CommandTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"InvalidReference\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunction\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"OffchainLookup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyCommands\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"A library to facilitate requesting storage data proofs from contracts, possibly on a different chain. See l1-verifier/test/TestL1.sol for example usage.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":\"EVMFetcher\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + }, + "IEVMGateway": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "commands", + "type": "bytes32[]" + }, + { + "internalType": "bytes[]", + "name": "constants", + "type": "bytes[]" + } + ], + "name": "getStorageSlots", + "outputs": [ + { + "internalType": "bytes", + "name": "witness", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getStorageSlots(address,bytes32[],bytes[])": "ea9cd3bf" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"commands\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"constants\",\"type\":\"bytes[]\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"witness\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":\"IEVMGateway\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@consensys/linea-state-verifier/contracts/IEVMVerifier.sol": { + "IEVMVerifier": { + "abi": [ + { + "inputs": [], + "name": "gatewayURLs", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "commands", + "type": "bytes32[]" + }, + { + "internalType": "bytes[]", + "name": "constants", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "acceptedL2BlockRangeLength", + "type": "uint256" + } + ], + "name": "getStorageValues", + "outputs": [ + { + "internalType": "bytes[]", + "name": "values", + "type": "bytes[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "gatewayURLs()": "b50f2fbc", + "getStorageValues(address,bytes32[],bytes[],bytes,uint256)": "c51ca02a" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"gatewayURLs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"commands\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"constants\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"acceptedL2BlockRangeLength\",\"type\":\"uint256\"}],\"name\":\"getStorageValues\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":\"IEVMVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol": { + "IBaseRegistrar": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "ControllerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameMigrated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "name": "NameRenewed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "addController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "available", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "nameExpires", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "reclaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "removeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addController(address)": "a7fc7a07", + "approve(address,uint256)": "095ea7b3", + "available(uint256)": "96e494e8", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "nameExpires(uint256)": "d6e4fa86", + "ownerOf(uint256)": "6352211e", + "reclaim(uint256,address)": "28ed4f6c", + "register(uint256,address,uint256)": "fca247ac", + "removeController(address)": "f6a74ed7", + "renew(uint256,uint256)": "c475abff", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setResolver(address)": "4e543b26", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"ControllerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameMigrated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"name\":\"NameRenewed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"addController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"available\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"nameExpires\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"reclaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"removeController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"reclaim(uint256,address)\":{\"details\":\"Reclaim ownership of a name in ENS, if you own it in the registrar.\"},\"register(uint256,address,uint256)\":{\"details\":\"Register a name.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":\"IBaseRegistrar\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/registry/ENS.sol": { + "ENS": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NewOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "NewResolver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "NewTTL", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "recordExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "resolver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "ttl", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "isApprovedForAll(address,address)": "e985e9c5", + "owner(bytes32)": "02571be3", + "recordExists(bytes32)": "f79fe538", + "resolver(bytes32)": "0178b8bf", + "setApprovalForAll(address,bool)": "a22cb465", + "setOwner(bytes32,address)": "5b0fc9c3", + "setRecord(bytes32,address,address,uint64)": "cf408823", + "setResolver(bytes32,address)": "1896f70a", + "setSubnodeOwner(bytes32,bytes32,address)": "06ab5923", + "setSubnodeRecord(bytes32,bytes32,address,address,uint64)": "5ef2c7f0", + "setTTL(bytes32,uint64)": "14ab9038", + "ttl(bytes32)": "16a25cbd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":\"ENS\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol": { + "IAddrResolver": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "a", + "type": "address" + } + ], + "name": "AddrChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addr(bytes32)": "3b3b57de" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddrChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addr(bytes32)\":{\"params\":{\"node\":\"The ENS node to query.\"},\"returns\":{\"_0\":\"The associated address.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addr(bytes32)\":{\"notice\":\"Returns the address associated with an ENS node.\"}},\"notice\":\"Interface for the legacy (ETH-only) addr function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":\"IAddrResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":{\"keccak256\":\"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963\",\"dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol": { + "IAddressResolver": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "coinType", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "newAddress", + "type": "bytes" + } + ], + "name": "AddressChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "coinType", + "type": "uint256" + } + ], + "name": "addr", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addr(bytes32,uint256)": "f1cb7e06" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"coinType\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"newAddress\",\"type\":\"bytes\"}],\"name\":\"AddressChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"coinType\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the new (multicoin) addr function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":\"IAddressResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":{\"keccak256\":\"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82\",\"dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol": { + "IExtendedResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "resolve", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "resolve(bytes,bytes)": "9061b923" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":\"IExtendedResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":{\"keccak256\":\"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760\",\"dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol": { + "BytesUtils": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "OffsetOutOfBoundsError", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204acb2974e647688365e59eb823df60697e87194afe21a5cbe38e555e054ae4c564736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE 0xCB 0x29 PUSH21 0xE647688365E59EB823DF60697E87194AFE21A5CBE3 DUP15 SSTORE MCOPY SDIV BLOBBASEFEE 0xE4 0xC5 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "56:14399:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204acb2974e647688365e59eb823df60697e87194afe21a5cbe38e555e054ae4c564736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE 0xCB 0x29 PUSH21 0xE647688365E59EB823DF60697E87194AFE21A5CBE3 DUP15 SSTORE MCOPY SDIV BLOBBASEFEE 0xE4 0xC5 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "56:14399:8:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"OffsetOutOfBoundsError\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":\"BytesUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":{\"keccak256\":\"0xc566a3569af880a096a9bfb2fbb77060ef7aecde1a205dc26446a58877412060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad627557ee4573cfd13238041acb2bda2d277dc78836e7611d184616df7f2a47\",\"dweb:/ipfs/QmSbCRpJaEqa5XiHwzQvawcyXVLVkFghY1KZob3XNGRveR\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol": { + "IMetadataService": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "uri(uint256)": "0e89341c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":\"IMetadataService\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol": { + "INameWrapper": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "ExpiryExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + } + ], + "name": "FusesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "NameUnwrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "NameWrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fuseMask", + "type": "uint32" + } + ], + "name": "allFusesBurned", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "canModifyName", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "labelhash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "extendExpiry", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "getData", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "isWrapped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "isWrapped", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "metadataService", + "outputs": [ + { + "internalType": "contract IMetadataService", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "names", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + } + ], + "name": "registerAndWrapETH2LD", + "outputs": [ + { + "internalType": "uint256", + "name": "registrarExpiry", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "registrar", + "outputs": [ + { + "internalType": "contract IBaseRegistrar", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "labelHash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "renew", + "outputs": [ + { + "internalType": "uint256", + "name": "expires", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "parentNode", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "labelhash", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setChildFuses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + } + ], + "name": "setFuses", + "outputs": [ + { + "internalType": "uint32", + "name": "newFuses", + "type": "uint32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IMetadataService", + "name": "_metadataService", + "type": "address" + } + ], + "name": "setMetadataService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "setResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setSubnodeOwner", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setTTL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract INameWrapperUpgrade", + "name": "_upgradeAddress", + "type": "address" + } + ], + "name": "setUpgradeContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "unwrap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "newRegistrant", + "type": "address" + }, + { + "internalType": "address", + "name": "newController", + "type": "address" + } + ], + "name": "unwrapETH2LD", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "upgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "upgradeContract", + "outputs": [ + { + "internalType": "contract INameWrapperUpgrade", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "wrap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "label", + "type": "string" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint16", + "name": "ownerControlledFuses", + "type": "uint16" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + } + ], + "name": "wrapETH2LD", + "outputs": [ + { + "internalType": "uint64", + "name": "expires", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allFusesBurned(bytes32,uint32)": "adf4960a", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "canModifyName(bytes32,address)": "41415eab", + "ens()": "3f15457f", + "extendExpiry(bytes32,bytes32,uint64)": "6e5d6ad2", + "getApproved(uint256)": "081812fc", + "getData(uint256)": "0178fe3f", + "isApprovedForAll(address,address)": "e985e9c5", + "isWrapped(bytes32)": "fd0cd0d9", + "isWrapped(bytes32,bytes32)": "d9a50c12", + "metadataService()": "53095467", + "name()": "06fdde03", + "names(bytes32)": "20c38e2b", + "ownerOf(uint256)": "6352211e", + "registerAndWrapETH2LD(string,address,uint256,address,uint16)": "a4014982", + "registrar()": "2b20e397", + "renew(uint256,uint256)": "c475abff", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "setChildFuses(bytes32,bytes32,uint32,uint64)": "33c69ea9", + "setFuses(bytes32,uint16)": "402906fc", + "setMetadataService(address)": "1534e177", + "setRecord(bytes32,address,address,uint64)": "cf408823", + "setResolver(bytes32,address)": "1896f70a", + "setSubnodeOwner(bytes32,string,address,uint32,uint64)": "c658e086", + "setSubnodeRecord(bytes32,string,address,address,uint64,uint32,uint64)": "24c1af44", + "setTTL(bytes32,uint64)": "14ab9038", + "setUpgradeContract(address)": "b6bcad26", + "supportsInterface(bytes4)": "01ffc9a7", + "unwrap(bytes32,bytes32,address)": "d8c9921a", + "unwrapETH2LD(bytes32,address,address)": "8b4dfa75", + "upgrade(bytes,bytes)": "c93ab3fd", + "upgradeContract()": "1f4e1504", + "uri(uint256)": "0e89341c", + "wrap(bytes,address,address)": "eb8ae530", + "wrapETH2LD(string,address,uint16,address)": "8cf8b41e" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"ExpiryExtended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"}],\"name\":\"FusesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NameUnwrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"NameWrapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"fuseMask\",\"type\":\"uint32\"}],\"name\":\"allFusesBurned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"canModifyName\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"labelhash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"extendExpiry\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getData\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWrapped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isWrapped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadataService\",\"outputs\":[{\"internalType\":\"contract IMetadataService\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"names\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"}],\"name\":\"registerAndWrapETH2LD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"registrarExpiry\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registrar\",\"outputs\":[{\"internalType\":\"contract IBaseRegistrar\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"labelHash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"renew\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"expires\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"parentNode\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"labelhash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setChildFuses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"}],\"name\":\"setFuses\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"newFuses\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IMetadataService\",\"name\":\"_metadataService\",\"type\":\"address\"}],\"name\":\"setMetadataService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract INameWrapperUpgrade\",\"name\":\"_upgradeAddress\",\"type\":\"address\"}],\"name\":\"setUpgradeContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newRegistrant\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newController\",\"type\":\"address\"}],\"name\":\"unwrapETH2LD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"upgradeContract\",\"outputs\":[{\"internalType\":\"contract INameWrapperUpgrade\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"ownerControlledFuses\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"wrapETH2LD\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"expires\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":\"INameWrapper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":{\"keccak256\":\"0x70310eb67146d7290731c31841399640ac3b6a949eadc6598bc150123d185c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85d9e2d6b235900131129386047fae5fb77438806b681ac566119868be5a502\",\"dweb:/ipfs/Qmd9ys5jeRx77TDVeRqWUme7a5LUDT4k7wQ91wVSayDpTR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol": { + "INameWrapperUpgrade": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "wrappedOwner", + "type": "address" + }, + { + "internalType": "uint32", + "name": "fuses", + "type": "uint32" + }, + { + "internalType": "uint64", + "name": "expiry", + "type": "uint64" + }, + { + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "wrapFromUpgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "wrapFromUpgrade(bytes,address,uint32,uint64,address,bytes)": "9198c276" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"wrappedOwner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"fuses\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"expiry\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"wrapFromUpgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":\"INameWrapperUpgrade\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC1155/IERC1155.sol": { + "IERC1155": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "balanceOf(address,uint256)": "00fdd58e", + "balanceOfBatch(address[],uint256[])": "4e1273f4", + "isApprovedForAll(address,address)": "e985e9c5", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6", + "safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[EIP]. _Available since v3.1._\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "IERC721": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Address.sol": { + "Address": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203abc4c91783600f43b20051ac9e406300d8d10f8d0d9f4def01a983a9fcfea2064736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASPRICE 0xBC 0x4C SWAP2 PUSH25 0x3600F43B20051AC9E406300D8D10F8D0D9F4DEF01A983A9FCF 0xEA KECCAK256 PUSH5 0x736F6C6343 STOP ADDMOD NOT STOP CALLER ", + "sourceMap": "194:9169:14:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "contracts/IAddrSetter.sol": { + "IAddrSetter": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "setAddr(bytes,address)": "f00eebf4" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/IAddrSetter.sol\":\"IAddrSetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/IAddrSetter.sol\":{\"keccak256\":\"0xf7493c0fc452bd785cdf3d563f45eefb64c1498711dbe024126d247be56fe808\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a92c0ddfee4e552979e5215448d6a5a6d3f90e7706aaab203d44466d1d05263\",\"dweb:/ipfs/QmNiSn57hsD7fmPTZsPqzY7D8BuQGuPyujjHsHewjNgrhm\"]}},\"version\":1}" + } + }, + "contracts/ITargetResolver.sol": { + "ITargetResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "getTarget", + "outputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getTarget(bytes)": "15f64386" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"getTarget\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ITargetResolver.sol\":\"ITargetResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ITargetResolver.sol\":{\"keccak256\":\"0xbe5a66f254ce775902d6d20db27a50bfe28b70747cc33f28188beff59185b71a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c6d753a198934d7d911818c553532f8a5f97f96c86c60c5b709da345ab8de9\",\"dweb:/ipfs/QmYegW3aiohrSn34H5yHmxpUxm72iJXa4auCcX1mJNVkz3\"]}},\"version\":1}" + } + }, + "contracts/LabelUtils.sol": { + "LabelUtils": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "input", + "type": "bytes" + } + ], + "name": "countLabels", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "extractFirstLabel", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "label", + "type": "bytes" + } + ], + "name": "extractNumericSuffix", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "input", + "type": "bytes" + } + ], + "name": "isNumber", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "610930610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033", + "opcodes": "PUSH2 0x930 PUSH2 0x52 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x45 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DEA91D EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x4062ACE3 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0x94BC2DB6 EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0xE5C4CF73 EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x11B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x1BE JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP PUSH1 0x30 DUP2 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x16C JUMPI POP PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x30 DUP2 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x78A JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA DUP6 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP4 POP PUSH1 0x1 SWAP3 POP PUSH2 0x1B0 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x1AF JUMPI POP PUSH2 0x1BE JUMP JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x126 JUMP JUMPDEST POP DUP1 PUSH2 0x1FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x231 JUMPI PUSH2 0x230 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP2 SUB PUSH2 0x252 JUMPI POP PUSH2 0x280 JUMP JUMPDEST DUP3 DUP1 PUSH2 0x25D SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x1 DUP2 PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP3 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x213 JUMP JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP DUP2 DUP1 PUSH2 0x2BD SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DF JUMPI PUSH2 0x2DE PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x311 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x39A JUMPI DUP6 DUP2 DUP6 PUSH2 0x32F SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x340 JUMPI PUSH2 0x33F PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x35E JUMPI PUSH2 0x35D PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x466 JUMPI PUSH1 0x30 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3CF JUMPI PUSH2 0x3CE PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND LT DUP1 PUSH2 0x44A JUMPI POP PUSH1 0x39 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND GT JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x46C JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3AE JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP2 SWAP1 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 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 0x4D8 DUP3 PUSH2 0x48F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4F7 JUMPI PUSH2 0x4F6 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50A PUSH2 0x471 JUMP JUMPDEST SWAP1 POP PUSH2 0x516 DUP3 DUP3 PUSH2 0x4CF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x536 JUMPI PUSH2 0x535 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F DUP3 PUSH2 0x48F 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 0x56E PUSH2 0x569 DUP5 PUSH2 0x51B JUMP JUMPDEST PUSH2 0x500 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x58A JUMPI PUSH2 0x589 PUSH2 0x48A JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP5 DUP3 DUP6 PUSH2 0x54C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5B2 JUMPI PUSH2 0x5B1 PUSH2 0x485 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5C2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x55B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E1 JUMPI PUSH2 0x5E0 PUSH2 0x47B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5FF JUMPI PUSH2 0x5FE PUSH2 0x480 JUMP JUMPDEST JUMPDEST PUSH2 0x60B DUP5 DUP3 DUP6 ADD PUSH2 0x59D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x627 DUP2 PUSH2 0x614 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x61E JUMP JUMPDEST SWAP3 SWAP2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x682 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x667 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 DUP3 PUSH2 0x648 JUMP JUMPDEST PUSH2 0x6A3 DUP2 DUP6 PUSH2 0x653 JUMP JUMPDEST SWAP4 POP PUSH2 0x6B3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x664 JUMP JUMPDEST PUSH2 0x6BC DUP2 PUSH2 0x48F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6E1 DUP2 DUP5 PUSH2 0x68E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FE DUP2 PUSH2 0x6E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x795 DUP3 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7A0 DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D5 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x7E3 DUP2 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x7FA JUMPI PUSH2 0x7F9 PUSH2 0x75B JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80C DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x817 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x82F JUMPI PUSH2 0x82E PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F206E756D657269632073756666697820666F756E64000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x87C PUSH1 0x17 DUP4 PUSH2 0x835 JUMP JUMPDEST SWAP2 POP PUSH2 0x887 DUP3 PUSH2 0x846 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8AB DUP2 PUSH2 0x86F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BD DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x8EF JUMPI PUSH2 0x8EE PUSH2 0x75B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED PUSH11 0x9E0A1DC1E9B8EB0165073E BLOBHASH EXTCODESIZE INVALID DUP12 TSTORE 0xEC PUSH16 0x75F400AA83268538B52161F964736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "159:2436:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@countLabels_3271": { + "entryPoint": 521, + "id": 3271, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractFirstLabel_3106": { + "entryPoint": 650, + "id": 3106, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@extractNumericSuffix_3180": { + "entryPoint": 283, + "id": 3180, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isNumber_3219": { + "entryPoint": 934, + "id": 3219, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 1371, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 1437, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_memory_ptr": { + "entryPoint": 1483, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack_library": { + "entryPoint": 1781, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 1678, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack": { + "entryPoint": 2159, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack_library": { + "entryPoint": 1566, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed": { + "entryPoint": 1796, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 1735, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 2194, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed": { + "entryPoint": 1581, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 1280, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 1137, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 1307, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 1608, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 1619, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 2101, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_add_t_uint256": { + "entryPoint": 2049, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_mul_t_uint256": { + "entryPoint": 1983, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint8": { + "entryPoint": 1930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 1769, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 1556, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint8": { + "entryPoint": 1870, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 1356, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 1636, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 1231, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "increment_t_uint256": { + "entryPoint": 2226, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 1883, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 1823, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 1184, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 1157, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 1162, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 1152, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 1147, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 1167, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46": { + "entryPoint": 2118, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:7899:21", + "nodeType": "YulBlock", + "src": "0:7899:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "423:28:21", + "nodeType": "YulBlock", + "src": "423:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "440:1:21", + "nodeType": "YulLiteral", + "src": "440:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "443:1:21", + "nodeType": "YulLiteral", + "src": "443:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "433:6:21", + "nodeType": "YulIdentifier", + "src": "433:6:21" + }, + "nativeSrc": "433:12:21", + "nodeType": "YulFunctionCall", + "src": "433:12:21" + }, + "nativeSrc": "433:12:21", + "nodeType": "YulExpressionStatement", + "src": "433:12:21" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "334:117:21", + "nodeType": "YulFunctionDefinition", + "src": "334:117:21" + }, + { + "body": { + "nativeSrc": "546:28:21", + "nodeType": "YulBlock", + "src": "546:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "563:1:21", + "nodeType": "YulLiteral", + "src": "563:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "566:1:21", + "nodeType": "YulLiteral", + "src": "566:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "556:6:21", + "nodeType": "YulIdentifier", + "src": "556:6:21" + }, + "nativeSrc": "556:12:21", + "nodeType": "YulFunctionCall", + "src": "556:12:21" + }, + "nativeSrc": "556:12:21", + "nodeType": "YulExpressionStatement", + "src": "556:12:21" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "457:117:21", + "nodeType": "YulFunctionDefinition", + "src": "457:117:21" + }, + { + "body": { + "nativeSrc": "628:54:21", + "nodeType": "YulBlock", + "src": "628:54:21", + "statements": [ + { + "nativeSrc": "638:38:21", + "nodeType": "YulAssignment", + "src": "638:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "656:5:21", + "nodeType": "YulIdentifier", + "src": "656:5:21" + }, + { + "kind": "number", + "nativeSrc": "663:2:21", + "nodeType": "YulLiteral", + "src": "663:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "652:3:21", + "nodeType": "YulIdentifier", + "src": "652:3:21" + }, + "nativeSrc": "652:14:21", + "nodeType": "YulFunctionCall", + "src": "652:14:21" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "672:2:21", + "nodeType": "YulLiteral", + "src": "672:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "668:3:21", + "nodeType": "YulIdentifier", + "src": "668:3:21" + }, + "nativeSrc": "668:7:21", + "nodeType": "YulFunctionCall", + "src": "668:7:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "648:3:21", + "nodeType": "YulIdentifier", + "src": "648:3:21" + }, + "nativeSrc": "648:28:21", + "nodeType": "YulFunctionCall", + "src": "648:28:21" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "638:6:21", + "nodeType": "YulIdentifier", + "src": "638:6:21" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "580:102:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "611:5:21", + "nodeType": "YulTypedName", + "src": "611:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "621:6:21", + "nodeType": "YulTypedName", + "src": "621:6:21", + "type": "" + } + ], + "src": "580:102:21" + }, + { + "body": { + "nativeSrc": "716:152:21", + "nodeType": "YulBlock", + "src": "716:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "733:1:21", + "nodeType": "YulLiteral", + "src": "733:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "736:77:21", + "nodeType": "YulLiteral", + "src": "736:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "726:6:21", + "nodeType": "YulIdentifier", + "src": "726:6:21" + }, + "nativeSrc": "726:88:21", + "nodeType": "YulFunctionCall", + "src": "726:88:21" + }, + "nativeSrc": "726:88:21", + "nodeType": "YulExpressionStatement", + "src": "726:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "830:1:21", + "nodeType": "YulLiteral", + "src": "830:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "833:4:21", + "nodeType": "YulLiteral", + "src": "833:4:21", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "823:6:21", + "nodeType": "YulIdentifier", + "src": "823:6:21" + }, + "nativeSrc": "823:15:21", + "nodeType": "YulFunctionCall", + "src": "823:15:21" + }, + "nativeSrc": "823:15:21", + "nodeType": "YulExpressionStatement", + "src": "823:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:1:21", + "nodeType": "YulLiteral", + "src": "854:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "857:4:21", + "nodeType": "YulLiteral", + "src": "857:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "847:6:21", + "nodeType": "YulIdentifier", + "src": "847:6:21" + }, + "nativeSrc": "847:15:21", + "nodeType": "YulFunctionCall", + "src": "847:15:21" + }, + "nativeSrc": "847:15:21", + "nodeType": "YulExpressionStatement", + "src": "847:15:21" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "688:180:21", + "nodeType": "YulFunctionDefinition", + "src": "688:180:21" + }, + { + "body": { + "nativeSrc": "917:238:21", + "nodeType": "YulBlock", + "src": "917:238:21", + "statements": [ + { + "nativeSrc": "927:58:21", + "nodeType": "YulVariableDeclaration", + "src": "927:58:21", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "949:6:21", + "nodeType": "YulIdentifier", + "src": "949:6:21" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "979:4:21", + "nodeType": "YulIdentifier", + "src": "979:4:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "957:21:21", + "nodeType": "YulIdentifier", + "src": "957:21:21" + }, + "nativeSrc": "957:27:21", + "nodeType": "YulFunctionCall", + "src": "957:27:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "945:3:21", + "nodeType": "YulIdentifier", + "src": "945:3:21" + }, + "nativeSrc": "945:40:21", + "nodeType": "YulFunctionCall", + "src": "945:40:21" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "931:10:21", + "nodeType": "YulTypedName", + "src": "931:10:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1096:22:21", + "nodeType": "YulBlock", + "src": "1096:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1098:16:21", + "nodeType": "YulIdentifier", + "src": "1098:16:21" + }, + "nativeSrc": "1098:18:21", + "nodeType": "YulFunctionCall", + "src": "1098:18:21" + }, + "nativeSrc": "1098:18:21", + "nodeType": "YulExpressionStatement", + "src": "1098:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1039:10:21", + "nodeType": "YulIdentifier", + "src": "1039:10:21" + }, + { + "kind": "number", + "nativeSrc": "1051:18:21", + "nodeType": "YulLiteral", + "src": "1051:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1036:2:21", + "nodeType": "YulIdentifier", + "src": "1036:2:21" + }, + "nativeSrc": "1036:34:21", + "nodeType": "YulFunctionCall", + "src": "1036:34:21" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1075:10:21", + "nodeType": "YulIdentifier", + "src": "1075:10:21" + }, + { + "name": "memPtr", + "nativeSrc": "1087:6:21", + "nodeType": "YulIdentifier", + "src": "1087:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1072:2:21", + "nodeType": "YulIdentifier", + "src": "1072:2:21" + }, + "nativeSrc": "1072:22:21", + "nodeType": "YulFunctionCall", + "src": "1072:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1033:2:21", + "nodeType": "YulIdentifier", + "src": "1033:2:21" + }, + "nativeSrc": "1033:62:21", + "nodeType": "YulFunctionCall", + "src": "1033:62:21" + }, + "nativeSrc": "1030:88:21", + "nodeType": "YulIf", + "src": "1030:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1134:2:21", + "nodeType": "YulLiteral", + "src": "1134:2:21", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1138:10:21", + "nodeType": "YulIdentifier", + "src": "1138:10:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1127:6:21", + "nodeType": "YulIdentifier", + "src": "1127:6:21" + }, + "nativeSrc": "1127:22:21", + "nodeType": "YulFunctionCall", + "src": "1127:22:21" + }, + "nativeSrc": "1127:22:21", + "nodeType": "YulExpressionStatement", + "src": "1127:22:21" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "874:281:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "903:6:21", + "nodeType": "YulTypedName", + "src": "903:6:21", + "type": "" + }, + { + "name": "size", + "nativeSrc": "911:4:21", + "nodeType": "YulTypedName", + "src": "911:4:21", + "type": "" + } + ], + "src": "874:281:21" + }, + { + "body": { + "nativeSrc": "1202:88:21", + "nodeType": "YulBlock", + "src": "1202:88:21", + "statements": [ + { + "nativeSrc": "1212:30:21", + "nodeType": "YulAssignment", + "src": "1212:30:21", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "1222:18:21", + "nodeType": "YulIdentifier", + "src": "1222:18:21" + }, + "nativeSrc": "1222:20:21", + "nodeType": "YulFunctionCall", + "src": "1222:20:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1212:6:21", + "nodeType": "YulIdentifier", + "src": "1212:6:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1271:6:21", + "nodeType": "YulIdentifier", + "src": "1271:6:21" + }, + { + "name": "size", + "nativeSrc": "1279:4:21", + "nodeType": "YulIdentifier", + "src": "1279:4:21" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "1251:19:21", + "nodeType": "YulIdentifier", + "src": "1251:19:21" + }, + "nativeSrc": "1251:33:21", + "nodeType": "YulFunctionCall", + "src": "1251:33:21" + }, + "nativeSrc": "1251:33:21", + "nodeType": "YulExpressionStatement", + "src": "1251:33:21" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "1161:129:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "1186:4:21", + "nodeType": "YulTypedName", + "src": "1186:4:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1195:6:21", + "nodeType": "YulTypedName", + "src": "1195:6:21", + "type": "" + } + ], + "src": "1161:129:21" + }, + { + "body": { + "nativeSrc": "1362:241:21", + "nodeType": "YulBlock", + "src": "1362:241:21", + "statements": [ + { + "body": { + "nativeSrc": "1467:22:21", + "nodeType": "YulBlock", + "src": "1467:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1469:16:21", + "nodeType": "YulIdentifier", + "src": "1469:16:21" + }, + "nativeSrc": "1469:18:21", + "nodeType": "YulFunctionCall", + "src": "1469:18:21" + }, + "nativeSrc": "1469:18:21", + "nodeType": "YulExpressionStatement", + "src": "1469:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1439:6:21", + "nodeType": "YulIdentifier", + "src": "1439:6:21" + }, + { + "kind": "number", + "nativeSrc": "1447:18:21", + "nodeType": "YulLiteral", + "src": "1447:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1436:2:21", + "nodeType": "YulIdentifier", + "src": "1436:2:21" + }, + "nativeSrc": "1436:30:21", + "nodeType": "YulFunctionCall", + "src": "1436:30:21" + }, + "nativeSrc": "1433:56:21", + "nodeType": "YulIf", + "src": "1433:56:21" + }, + { + "nativeSrc": "1499:37:21", + "nodeType": "YulAssignment", + "src": "1499:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "1529:6:21", + "nodeType": "YulIdentifier", + "src": "1529:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "1507:21:21", + "nodeType": "YulIdentifier", + "src": "1507:21:21" + }, + "nativeSrc": "1507:29:21", + "nodeType": "YulFunctionCall", + "src": "1507:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1499:4:21", + "nodeType": "YulIdentifier", + "src": "1499:4:21" + } + ] + }, + { + "nativeSrc": "1573:23:21", + "nodeType": "YulAssignment", + "src": "1573:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "1585:4:21", + "nodeType": "YulIdentifier", + "src": "1585:4:21" + }, + { + "kind": "number", + "nativeSrc": "1591:4:21", + "nodeType": "YulLiteral", + "src": "1591:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1581:3:21", + "nodeType": "YulIdentifier", + "src": "1581:3:21" + }, + "nativeSrc": "1581:15:21", + "nodeType": "YulFunctionCall", + "src": "1581:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "1573:4:21", + "nodeType": "YulIdentifier", + "src": "1573:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "1296:307:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "1346:6:21", + "nodeType": "YulTypedName", + "src": "1346:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "1357:4:21", + "nodeType": "YulTypedName", + "src": "1357:4:21", + "type": "" + } + ], + "src": "1296:307:21" + }, + { + "body": { + "nativeSrc": "1673:84:21", + "nodeType": "YulBlock", + "src": "1673:84:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1697:3:21", + "nodeType": "YulIdentifier", + "src": "1697:3:21" + }, + { + "name": "src", + "nativeSrc": "1702:3:21", + "nodeType": "YulIdentifier", + "src": "1702:3:21" + }, + { + "name": "length", + "nativeSrc": "1707:6:21", + "nodeType": "YulIdentifier", + "src": "1707:6:21" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1684:12:21", + "nodeType": "YulIdentifier", + "src": "1684:12:21" + }, + "nativeSrc": "1684:30:21", + "nodeType": "YulFunctionCall", + "src": "1684:30:21" + }, + "nativeSrc": "1684:30:21", + "nodeType": "YulExpressionStatement", + "src": "1684:30:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1734:3:21", + "nodeType": "YulIdentifier", + "src": "1734:3:21" + }, + { + "name": "length", + "nativeSrc": "1739:6:21", + "nodeType": "YulIdentifier", + "src": "1739:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1730:3:21", + "nodeType": "YulIdentifier", + "src": "1730:3:21" + }, + "nativeSrc": "1730:16:21", + "nodeType": "YulFunctionCall", + "src": "1730:16:21" + }, + { + "kind": "number", + "nativeSrc": "1748:1:21", + "nodeType": "YulLiteral", + "src": "1748:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1723:6:21", + "nodeType": "YulIdentifier", + "src": "1723:6:21" + }, + "nativeSrc": "1723:27:21", + "nodeType": "YulFunctionCall", + "src": "1723:27:21" + }, + "nativeSrc": "1723:27:21", + "nodeType": "YulExpressionStatement", + "src": "1723:27:21" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "1609:148:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1655:3:21", + "nodeType": "YulTypedName", + "src": "1655:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1660:3:21", + "nodeType": "YulTypedName", + "src": "1660:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1665:6:21", + "nodeType": "YulTypedName", + "src": "1665:6:21", + "type": "" + } + ], + "src": "1609:148:21" + }, + { + "body": { + "nativeSrc": "1846:340:21", + "nodeType": "YulBlock", + "src": "1846:340:21", + "statements": [ + { + "nativeSrc": "1856:74:21", + "nodeType": "YulAssignment", + "src": "1856:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1922:6:21", + "nodeType": "YulIdentifier", + "src": "1922:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "1881:40:21", + "nodeType": "YulIdentifier", + "src": "1881:40:21" + }, + "nativeSrc": "1881:48:21", + "nodeType": "YulFunctionCall", + "src": "1881:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "1865:15:21", + "nodeType": "YulIdentifier", + "src": "1865:15:21" + }, + "nativeSrc": "1865:65:21", + "nodeType": "YulFunctionCall", + "src": "1865:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1856:5:21", + "nodeType": "YulIdentifier", + "src": "1856:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1946:5:21", + "nodeType": "YulIdentifier", + "src": "1946:5:21" + }, + { + "name": "length", + "nativeSrc": "1953:6:21", + "nodeType": "YulIdentifier", + "src": "1953:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1939:6:21", + "nodeType": "YulIdentifier", + "src": "1939:6:21" + }, + "nativeSrc": "1939:21:21", + "nodeType": "YulFunctionCall", + "src": "1939:21:21" + }, + "nativeSrc": "1939:21:21", + "nodeType": "YulExpressionStatement", + "src": "1939:21:21" + }, + { + "nativeSrc": "1969:27:21", + "nodeType": "YulVariableDeclaration", + "src": "1969:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1984:5:21", + "nodeType": "YulIdentifier", + "src": "1984:5:21" + }, + { + "kind": "number", + "nativeSrc": "1991:4:21", + "nodeType": "YulLiteral", + "src": "1991:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1980:3:21", + "nodeType": "YulIdentifier", + "src": "1980:3:21" + }, + "nativeSrc": "1980:16:21", + "nodeType": "YulFunctionCall", + "src": "1980:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "1973:3:21", + "nodeType": "YulTypedName", + "src": "1973:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2034:83:21", + "nodeType": "YulBlock", + "src": "2034:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "2036:77:21", + "nodeType": "YulIdentifier", + "src": "2036:77:21" + }, + "nativeSrc": "2036:79:21", + "nodeType": "YulFunctionCall", + "src": "2036:79:21" + }, + "nativeSrc": "2036:79:21", + "nodeType": "YulExpressionStatement", + "src": "2036:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2015:3:21", + "nodeType": "YulIdentifier", + "src": "2015:3:21" + }, + { + "name": "length", + "nativeSrc": "2020:6:21", + "nodeType": "YulIdentifier", + "src": "2020:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2011:3:21", + "nodeType": "YulIdentifier", + "src": "2011:3:21" + }, + "nativeSrc": "2011:16:21", + "nodeType": "YulFunctionCall", + "src": "2011:16:21" + }, + { + "name": "end", + "nativeSrc": "2029:3:21", + "nodeType": "YulIdentifier", + "src": "2029:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2008:2:21", + "nodeType": "YulIdentifier", + "src": "2008:2:21" + }, + "nativeSrc": "2008:25:21", + "nodeType": "YulFunctionCall", + "src": "2008:25:21" + }, + "nativeSrc": "2005:112:21", + "nodeType": "YulIf", + "src": "2005:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "2163:3:21", + "nodeType": "YulIdentifier", + "src": "2163:3:21" + }, + { + "name": "dst", + "nativeSrc": "2168:3:21", + "nodeType": "YulIdentifier", + "src": "2168:3:21" + }, + { + "name": "length", + "nativeSrc": "2173:6:21", + "nodeType": "YulIdentifier", + "src": "2173:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2126:36:21", + "nodeType": "YulIdentifier", + "src": "2126:36:21" + }, + "nativeSrc": "2126:54:21", + "nodeType": "YulFunctionCall", + "src": "2126:54:21" + }, + "nativeSrc": "2126:54:21", + "nodeType": "YulExpressionStatement", + "src": "2126:54:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "1763:423:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1819:3:21", + "nodeType": "YulTypedName", + "src": "1819:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1824:6:21", + "nodeType": "YulTypedName", + "src": "1824:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1832:3:21", + "nodeType": "YulTypedName", + "src": "1832:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1840:5:21", + "nodeType": "YulTypedName", + "src": "1840:5:21", + "type": "" + } + ], + "src": "1763:423:21" + }, + { + "body": { + "nativeSrc": "2266:277:21", + "nodeType": "YulBlock", + "src": "2266:277:21", + "statements": [ + { + "body": { + "nativeSrc": "2315:83:21", + "nodeType": "YulBlock", + "src": "2315:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "2317:77:21", + "nodeType": "YulIdentifier", + "src": "2317:77:21" + }, + "nativeSrc": "2317:79:21", + "nodeType": "YulFunctionCall", + "src": "2317:79:21" + }, + "nativeSrc": "2317:79:21", + "nodeType": "YulExpressionStatement", + "src": "2317:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2294:6:21", + "nodeType": "YulIdentifier", + "src": "2294:6:21" + }, + { + "kind": "number", + "nativeSrc": "2302:4:21", + "nodeType": "YulLiteral", + "src": "2302:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2290:3:21", + "nodeType": "YulIdentifier", + "src": "2290:3:21" + }, + "nativeSrc": "2290:17:21", + "nodeType": "YulFunctionCall", + "src": "2290:17:21" + }, + { + "name": "end", + "nativeSrc": "2309:3:21", + "nodeType": "YulIdentifier", + "src": "2309:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2286:3:21", + "nodeType": "YulIdentifier", + "src": "2286:3:21" + }, + "nativeSrc": "2286:27:21", + "nodeType": "YulFunctionCall", + "src": "2286:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2279:6:21", + "nodeType": "YulIdentifier", + "src": "2279:6:21" + }, + "nativeSrc": "2279:35:21", + "nodeType": "YulFunctionCall", + "src": "2279:35:21" + }, + "nativeSrc": "2276:122:21", + "nodeType": "YulIf", + "src": "2276:122:21" + }, + { + "nativeSrc": "2407:34:21", + "nodeType": "YulVariableDeclaration", + "src": "2407:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2434:6:21", + "nodeType": "YulIdentifier", + "src": "2434:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2421:12:21", + "nodeType": "YulIdentifier", + "src": "2421:12:21" + }, + "nativeSrc": "2421:20:21", + "nodeType": "YulFunctionCall", + "src": "2421:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2411:6:21", + "nodeType": "YulTypedName", + "src": "2411:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2450:87:21", + "nodeType": "YulAssignment", + "src": "2450:87:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2510:6:21", + "nodeType": "YulIdentifier", + "src": "2510:6:21" + }, + { + "kind": "number", + "nativeSrc": "2518:4:21", + "nodeType": "YulLiteral", + "src": "2518:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2506:3:21", + "nodeType": "YulIdentifier", + "src": "2506:3:21" + }, + "nativeSrc": "2506:17:21", + "nodeType": "YulFunctionCall", + "src": "2506:17:21" + }, + { + "name": "length", + "nativeSrc": "2525:6:21", + "nodeType": "YulIdentifier", + "src": "2525:6:21" + }, + { + "name": "end", + "nativeSrc": "2533:3:21", + "nodeType": "YulIdentifier", + "src": "2533:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "2459:46:21", + "nodeType": "YulIdentifier", + "src": "2459:46:21" + }, + "nativeSrc": "2459:78:21", + "nodeType": "YulFunctionCall", + "src": "2459:78:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "2450:5:21", + "nodeType": "YulIdentifier", + "src": "2450:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "2205:338:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2244:6:21", + "nodeType": "YulTypedName", + "src": "2244:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2252:3:21", + "nodeType": "YulTypedName", + "src": "2252:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "2260:5:21", + "nodeType": "YulTypedName", + "src": "2260:5:21", + "type": "" + } + ], + "src": "2205:338:21" + }, + { + "body": { + "nativeSrc": "2624:432:21", + "nodeType": "YulBlock", + "src": "2624:432:21", + "statements": [ + { + "body": { + "nativeSrc": "2670:83:21", + "nodeType": "YulBlock", + "src": "2670:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2672:77:21", + "nodeType": "YulIdentifier", + "src": "2672:77:21" + }, + "nativeSrc": "2672:79:21", + "nodeType": "YulFunctionCall", + "src": "2672:79:21" + }, + "nativeSrc": "2672:79:21", + "nodeType": "YulExpressionStatement", + "src": "2672:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2645:7:21", + "nodeType": "YulIdentifier", + "src": "2645:7:21" + }, + { + "name": "headStart", + "nativeSrc": "2654:9:21", + "nodeType": "YulIdentifier", + "src": "2654:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2641:3:21", + "nodeType": "YulIdentifier", + "src": "2641:3:21" + }, + "nativeSrc": "2641:23:21", + "nodeType": "YulFunctionCall", + "src": "2641:23:21" + }, + { + "kind": "number", + "nativeSrc": "2666:2:21", + "nodeType": "YulLiteral", + "src": "2666:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2637:3:21", + "nodeType": "YulIdentifier", + "src": "2637:3:21" + }, + "nativeSrc": "2637:32:21", + "nodeType": "YulFunctionCall", + "src": "2637:32:21" + }, + "nativeSrc": "2634:119:21", + "nodeType": "YulIf", + "src": "2634:119:21" + }, + { + "nativeSrc": "2763:286:21", + "nodeType": "YulBlock", + "src": "2763:286:21", + "statements": [ + { + "nativeSrc": "2778:45:21", + "nodeType": "YulVariableDeclaration", + "src": "2778:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2809:9:21", + "nodeType": "YulIdentifier", + "src": "2809:9:21" + }, + { + "kind": "number", + "nativeSrc": "2820:1:21", + "nodeType": "YulLiteral", + "src": "2820:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2805:3:21", + "nodeType": "YulIdentifier", + "src": "2805:3:21" + }, + "nativeSrc": "2805:17:21", + "nodeType": "YulFunctionCall", + "src": "2805:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2792:12:21", + "nodeType": "YulIdentifier", + "src": "2792:12:21" + }, + "nativeSrc": "2792:31:21", + "nodeType": "YulFunctionCall", + "src": "2792:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2782:6:21", + "nodeType": "YulTypedName", + "src": "2782:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2870:83:21", + "nodeType": "YulBlock", + "src": "2870:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "2872:77:21", + "nodeType": "YulIdentifier", + "src": "2872:77:21" + }, + "nativeSrc": "2872:79:21", + "nodeType": "YulFunctionCall", + "src": "2872:79:21" + }, + "nativeSrc": "2872:79:21", + "nodeType": "YulExpressionStatement", + "src": "2872:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2842:6:21", + "nodeType": "YulIdentifier", + "src": "2842:6:21" + }, + { + "kind": "number", + "nativeSrc": "2850:18:21", + "nodeType": "YulLiteral", + "src": "2850:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2839:2:21", + "nodeType": "YulIdentifier", + "src": "2839:2:21" + }, + "nativeSrc": "2839:30:21", + "nodeType": "YulFunctionCall", + "src": "2839:30:21" + }, + "nativeSrc": "2836:117:21", + "nodeType": "YulIf", + "src": "2836:117:21" + }, + { + "nativeSrc": "2967:72:21", + "nodeType": "YulAssignment", + "src": "2967:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3011:9:21", + "nodeType": "YulIdentifier", + "src": "3011:9:21" + }, + { + "name": "offset", + "nativeSrc": "3022:6:21", + "nodeType": "YulIdentifier", + "src": "3022:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3007:3:21", + "nodeType": "YulIdentifier", + "src": "3007:3:21" + }, + "nativeSrc": "3007:22:21", + "nodeType": "YulFunctionCall", + "src": "3007:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3031:7:21", + "nodeType": "YulIdentifier", + "src": "3031:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "2977:29:21", + "nodeType": "YulIdentifier", + "src": "2977:29:21" + }, + "nativeSrc": "2977:62:21", + "nodeType": "YulFunctionCall", + "src": "2977:62:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2967:6:21", + "nodeType": "YulIdentifier", + "src": "2967:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nativeSrc": "2549:507:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2594:9:21", + "nodeType": "YulTypedName", + "src": "2594:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2605:7:21", + "nodeType": "YulTypedName", + "src": "2605:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2617:6:21", + "nodeType": "YulTypedName", + "src": "2617:6:21", + "type": "" + } + ], + "src": "2549:507:21" + }, + { + "body": { + "nativeSrc": "3107:32:21", + "nodeType": "YulBlock", + "src": "3107:32:21", + "statements": [ + { + "nativeSrc": "3117:16:21", + "nodeType": "YulAssignment", + "src": "3117:16:21", + "value": { + "name": "value", + "nativeSrc": "3128:5:21", + "nodeType": "YulIdentifier", + "src": "3128:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "3117:7:21", + "nodeType": "YulIdentifier", + "src": "3117:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "3062:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3089:5:21", + "nodeType": "YulTypedName", + "src": "3089:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "3099:7:21", + "nodeType": "YulTypedName", + "src": "3099:7:21", + "type": "" + } + ], + "src": "3062:77:21" + }, + { + "body": { + "nativeSrc": "3218:53:21", + "nodeType": "YulBlock", + "src": "3218:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3235:3:21", + "nodeType": "YulIdentifier", + "src": "3235:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "3258:5:21", + "nodeType": "YulIdentifier", + "src": "3258:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "3240:17:21", + "nodeType": "YulIdentifier", + "src": "3240:17:21" + }, + "nativeSrc": "3240:24:21", + "nodeType": "YulFunctionCall", + "src": "3240:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3228:6:21", + "nodeType": "YulIdentifier", + "src": "3228:6:21" + }, + "nativeSrc": "3228:37:21", + "nodeType": "YulFunctionCall", + "src": "3228:37:21" + }, + "nativeSrc": "3228:37:21", + "nodeType": "YulExpressionStatement", + "src": "3228:37:21" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack_library", + "nativeSrc": "3145:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3206:5:21", + "nodeType": "YulTypedName", + "src": "3206:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "3213:3:21", + "nodeType": "YulTypedName", + "src": "3213:3:21", + "type": "" + } + ], + "src": "3145:126:21" + }, + { + "body": { + "nativeSrc": "3383:132:21", + "nodeType": "YulBlock", + "src": "3383:132:21", + "statements": [ + { + "nativeSrc": "3393:26:21", + "nodeType": "YulAssignment", + "src": "3393:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3405:9:21", + "nodeType": "YulIdentifier", + "src": "3405:9:21" + }, + { + "kind": "number", + "nativeSrc": "3416:2:21", + "nodeType": "YulLiteral", + "src": "3416:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3401:3:21", + "nodeType": "YulIdentifier", + "src": "3401:3:21" + }, + "nativeSrc": "3401:18:21", + "nodeType": "YulFunctionCall", + "src": "3401:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3393:4:21", + "nodeType": "YulIdentifier", + "src": "3393:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3481:6:21", + "nodeType": "YulIdentifier", + "src": "3481:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3494:9:21", + "nodeType": "YulIdentifier", + "src": "3494:9:21" + }, + { + "kind": "number", + "nativeSrc": "3505:1:21", + "nodeType": "YulLiteral", + "src": "3505:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3490:3:21", + "nodeType": "YulIdentifier", + "src": "3490:3:21" + }, + "nativeSrc": "3490:17:21", + "nodeType": "YulFunctionCall", + "src": "3490:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack_library", + "nativeSrc": "3429:51:21", + "nodeType": "YulIdentifier", + "src": "3429:51:21" + }, + "nativeSrc": "3429:79:21", + "nodeType": "YulFunctionCall", + "src": "3429:79:21" + }, + "nativeSrc": "3429:79:21", + "nodeType": "YulExpressionStatement", + "src": "3429:79:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", + "nativeSrc": "3277:238:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3355:9:21", + "nodeType": "YulTypedName", + "src": "3355:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3367:6:21", + "nodeType": "YulTypedName", + "src": "3367:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3378:4:21", + "nodeType": "YulTypedName", + "src": "3378:4:21", + "type": "" + } + ], + "src": "3277:238:21" + }, + { + "body": { + "nativeSrc": "3579:40:21", + "nodeType": "YulBlock", + "src": "3579:40:21", + "statements": [ + { + "nativeSrc": "3590:22:21", + "nodeType": "YulAssignment", + "src": "3590:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "3606:5:21", + "nodeType": "YulIdentifier", + "src": "3606:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3600:5:21", + "nodeType": "YulIdentifier", + "src": "3600:5:21" + }, + "nativeSrc": "3600:12:21", + "nodeType": "YulFunctionCall", + "src": "3600:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "3590:6:21", + "nodeType": "YulIdentifier", + "src": "3590:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "3521:98:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "3562:5:21", + "nodeType": "YulTypedName", + "src": "3562:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "3572:6:21", + "nodeType": "YulTypedName", + "src": "3572:6:21", + "type": "" + } + ], + "src": "3521:98:21" + }, + { + "body": { + "nativeSrc": "3728:73:21", + "nodeType": "YulBlock", + "src": "3728:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3745:3:21", + "nodeType": "YulIdentifier", + "src": "3745:3:21" + }, + { + "name": "length", + "nativeSrc": "3750:6:21", + "nodeType": "YulIdentifier", + "src": "3750:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3738:6:21", + "nodeType": "YulIdentifier", + "src": "3738:6:21" + }, + "nativeSrc": "3738:19:21", + "nodeType": "YulFunctionCall", + "src": "3738:19:21" + }, + "nativeSrc": "3738:19:21", + "nodeType": "YulExpressionStatement", + "src": "3738:19:21" + }, + { + "nativeSrc": "3766:29:21", + "nodeType": "YulAssignment", + "src": "3766:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3785:3:21", + "nodeType": "YulIdentifier", + "src": "3785:3:21" + }, + { + "kind": "number", + "nativeSrc": "3790:4:21", + "nodeType": "YulLiteral", + "src": "3790:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3781:3:21", + "nodeType": "YulIdentifier", + "src": "3781:3:21" + }, + "nativeSrc": "3781:14:21", + "nodeType": "YulFunctionCall", + "src": "3781:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "3766:11:21", + "nodeType": "YulIdentifier", + "src": "3766:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "3625:176:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3700:3:21", + "nodeType": "YulTypedName", + "src": "3700:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3705:6:21", + "nodeType": "YulTypedName", + "src": "3705:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "3716:11:21", + "nodeType": "YulTypedName", + "src": "3716:11:21", + "type": "" + } + ], + "src": "3625:176:21" + }, + { + "body": { + "nativeSrc": "3869:186:21", + "nodeType": "YulBlock", + "src": "3869:186:21", + "statements": [ + { + "nativeSrc": "3880:10:21", + "nodeType": "YulVariableDeclaration", + "src": "3880:10:21", + "value": { + "kind": "number", + "nativeSrc": "3889:1:21", + "nodeType": "YulLiteral", + "src": "3889:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "3884:1:21", + "nodeType": "YulTypedName", + "src": "3884:1:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3949:63:21", + "nodeType": "YulBlock", + "src": "3949:63:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "3974:3:21", + "nodeType": "YulIdentifier", + "src": "3974:3:21" + }, + { + "name": "i", + "nativeSrc": "3979:1:21", + "nodeType": "YulIdentifier", + "src": "3979:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3970:3:21", + "nodeType": "YulIdentifier", + "src": "3970:3:21" + }, + "nativeSrc": "3970:11:21", + "nodeType": "YulFunctionCall", + "src": "3970:11:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "3993:3:21", + "nodeType": "YulIdentifier", + "src": "3993:3:21" + }, + { + "name": "i", + "nativeSrc": "3998:1:21", + "nodeType": "YulIdentifier", + "src": "3998:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3989:3:21", + "nodeType": "YulIdentifier", + "src": "3989:3:21" + }, + "nativeSrc": "3989:11:21", + "nodeType": "YulFunctionCall", + "src": "3989:11:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3983:5:21", + "nodeType": "YulIdentifier", + "src": "3983:5:21" + }, + "nativeSrc": "3983:18:21", + "nodeType": "YulFunctionCall", + "src": "3983:18:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3963:6:21", + "nodeType": "YulIdentifier", + "src": "3963:6:21" + }, + "nativeSrc": "3963:39:21", + "nodeType": "YulFunctionCall", + "src": "3963:39:21" + }, + "nativeSrc": "3963:39:21", + "nodeType": "YulExpressionStatement", + "src": "3963:39:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "3910:1:21", + "nodeType": "YulIdentifier", + "src": "3910:1:21" + }, + { + "name": "length", + "nativeSrc": "3913:6:21", + "nodeType": "YulIdentifier", + "src": "3913:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "3907:2:21", + "nodeType": "YulIdentifier", + "src": "3907:2:21" + }, + "nativeSrc": "3907:13:21", + "nodeType": "YulFunctionCall", + "src": "3907:13:21" + }, + "nativeSrc": "3899:113:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "3921:19:21", + "nodeType": "YulBlock", + "src": "3921:19:21", + "statements": [ + { + "nativeSrc": "3923:15:21", + "nodeType": "YulAssignment", + "src": "3923:15:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "3932:1:21", + "nodeType": "YulIdentifier", + "src": "3932:1:21" + }, + { + "kind": "number", + "nativeSrc": "3935:2:21", + "nodeType": "YulLiteral", + "src": "3935:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3928:3:21", + "nodeType": "YulIdentifier", + "src": "3928:3:21" + }, + "nativeSrc": "3928:10:21", + "nodeType": "YulFunctionCall", + "src": "3928:10:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "3923:1:21", + "nodeType": "YulIdentifier", + "src": "3923:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "3903:3:21", + "nodeType": "YulBlock", + "src": "3903:3:21", + "statements": [] + }, + "src": "3899:113:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "4032:3:21", + "nodeType": "YulIdentifier", + "src": "4032:3:21" + }, + { + "name": "length", + "nativeSrc": "4037:6:21", + "nodeType": "YulIdentifier", + "src": "4037:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4028:3:21", + "nodeType": "YulIdentifier", + "src": "4028:3:21" + }, + "nativeSrc": "4028:16:21", + "nodeType": "YulFunctionCall", + "src": "4028:16:21" + }, + { + "kind": "number", + "nativeSrc": "4046:1:21", + "nodeType": "YulLiteral", + "src": "4046:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4021:6:21", + "nodeType": "YulIdentifier", + "src": "4021:6:21" + }, + "nativeSrc": "4021:27:21", + "nodeType": "YulFunctionCall", + "src": "4021:27:21" + }, + "nativeSrc": "4021:27:21", + "nodeType": "YulExpressionStatement", + "src": "4021:27:21" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "3807:248:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "3851:3:21", + "nodeType": "YulTypedName", + "src": "3851:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "3856:3:21", + "nodeType": "YulTypedName", + "src": "3856:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3861:6:21", + "nodeType": "YulTypedName", + "src": "3861:6:21", + "type": "" + } + ], + "src": "3807:248:21" + }, + { + "body": { + "nativeSrc": "4159:291:21", + "nodeType": "YulBlock", + "src": "4159:291:21", + "statements": [ + { + "nativeSrc": "4169:52:21", + "nodeType": "YulVariableDeclaration", + "src": "4169:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4215:5:21", + "nodeType": "YulIdentifier", + "src": "4215:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "4183:31:21", + "nodeType": "YulIdentifier", + "src": "4183:31:21" + }, + "nativeSrc": "4183:38:21", + "nodeType": "YulFunctionCall", + "src": "4183:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "4173:6:21", + "nodeType": "YulTypedName", + "src": "4173:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "4230:85:21", + "nodeType": "YulAssignment", + "src": "4230:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4303:3:21", + "nodeType": "YulIdentifier", + "src": "4303:3:21" + }, + { + "name": "length", + "nativeSrc": "4308:6:21", + "nodeType": "YulIdentifier", + "src": "4308:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4237:65:21", + "nodeType": "YulIdentifier", + "src": "4237:65:21" + }, + "nativeSrc": "4237:78:21", + "nodeType": "YulFunctionCall", + "src": "4237:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "4230:3:21", + "nodeType": "YulIdentifier", + "src": "4230:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4363:5:21", + "nodeType": "YulIdentifier", + "src": "4363:5:21" + }, + { + "kind": "number", + "nativeSrc": "4370:4:21", + "nodeType": "YulLiteral", + "src": "4370:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4359:3:21", + "nodeType": "YulIdentifier", + "src": "4359:3:21" + }, + "nativeSrc": "4359:16:21", + "nodeType": "YulFunctionCall", + "src": "4359:16:21" + }, + { + "name": "pos", + "nativeSrc": "4377:3:21", + "nodeType": "YulIdentifier", + "src": "4377:3:21" + }, + { + "name": "length", + "nativeSrc": "4382:6:21", + "nodeType": "YulIdentifier", + "src": "4382:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "4324:34:21", + "nodeType": "YulIdentifier", + "src": "4324:34:21" + }, + "nativeSrc": "4324:65:21", + "nodeType": "YulFunctionCall", + "src": "4324:65:21" + }, + "nativeSrc": "4324:65:21", + "nodeType": "YulExpressionStatement", + "src": "4324:65:21" + }, + { + "nativeSrc": "4398:46:21", + "nodeType": "YulAssignment", + "src": "4398:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4409:3:21", + "nodeType": "YulIdentifier", + "src": "4409:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "4436:6:21", + "nodeType": "YulIdentifier", + "src": "4436:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "4414:21:21", + "nodeType": "YulIdentifier", + "src": "4414:21:21" + }, + "nativeSrc": "4414:29:21", + "nodeType": "YulFunctionCall", + "src": "4414:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4405:3:21", + "nodeType": "YulIdentifier", + "src": "4405:3:21" + }, + "nativeSrc": "4405:39:21", + "nodeType": "YulFunctionCall", + "src": "4405:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4398:3:21", + "nodeType": "YulIdentifier", + "src": "4398:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4061:389:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4140:5:21", + "nodeType": "YulTypedName", + "src": "4140:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4147:3:21", + "nodeType": "YulTypedName", + "src": "4147:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4155:3:21", + "nodeType": "YulTypedName", + "src": "4155:3:21", + "type": "" + } + ], + "src": "4061:389:21" + }, + { + "body": { + "nativeSrc": "4580:201:21", + "nodeType": "YulBlock", + "src": "4580:201:21", + "statements": [ + { + "nativeSrc": "4590:26:21", + "nodeType": "YulAssignment", + "src": "4590:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4602:9:21", + "nodeType": "YulIdentifier", + "src": "4602:9:21" + }, + { + "kind": "number", + "nativeSrc": "4613:2:21", + "nodeType": "YulLiteral", + "src": "4613:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4598:3:21", + "nodeType": "YulIdentifier", + "src": "4598:3:21" + }, + "nativeSrc": "4598:18:21", + "nodeType": "YulFunctionCall", + "src": "4598:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4590:4:21", + "nodeType": "YulIdentifier", + "src": "4590:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4637:9:21", + "nodeType": "YulIdentifier", + "src": "4637:9:21" + }, + { + "kind": "number", + "nativeSrc": "4648:1:21", + "nodeType": "YulLiteral", + "src": "4648:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4633:3:21", + "nodeType": "YulIdentifier", + "src": "4633:3:21" + }, + "nativeSrc": "4633:17:21", + "nodeType": "YulFunctionCall", + "src": "4633:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4656:4:21", + "nodeType": "YulIdentifier", + "src": "4656:4:21" + }, + { + "name": "headStart", + "nativeSrc": "4662:9:21", + "nodeType": "YulIdentifier", + "src": "4662:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4652:3:21", + "nodeType": "YulIdentifier", + "src": "4652:3:21" + }, + "nativeSrc": "4652:20:21", + "nodeType": "YulFunctionCall", + "src": "4652:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4626:6:21", + "nodeType": "YulIdentifier", + "src": "4626:6:21" + }, + "nativeSrc": "4626:47:21", + "nodeType": "YulFunctionCall", + "src": "4626:47:21" + }, + "nativeSrc": "4626:47:21", + "nodeType": "YulExpressionStatement", + "src": "4626:47:21" + }, + { + "nativeSrc": "4682:92:21", + "nodeType": "YulAssignment", + "src": "4682:92:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4760:6:21", + "nodeType": "YulIdentifier", + "src": "4760:6:21" + }, + { + "name": "tail", + "nativeSrc": "4769:4:21", + "nodeType": "YulIdentifier", + "src": "4769:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "4690:69:21", + "nodeType": "YulIdentifier", + "src": "4690:69:21" + }, + "nativeSrc": "4690:84:21", + "nodeType": "YulFunctionCall", + "src": "4690:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4682:4:21", + "nodeType": "YulIdentifier", + "src": "4682:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "4456:325:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4552:9:21", + "nodeType": "YulTypedName", + "src": "4552:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4564:6:21", + "nodeType": "YulTypedName", + "src": "4564:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4575:4:21", + "nodeType": "YulTypedName", + "src": "4575:4:21", + "type": "" + } + ], + "src": "4456:325:21" + }, + { + "body": { + "nativeSrc": "4829:48:21", + "nodeType": "YulBlock", + "src": "4829:48:21", + "statements": [ + { + "nativeSrc": "4839:32:21", + "nodeType": "YulAssignment", + "src": "4839:32:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4864:5:21", + "nodeType": "YulIdentifier", + "src": "4864:5:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4857:6:21", + "nodeType": "YulIdentifier", + "src": "4857:6:21" + }, + "nativeSrc": "4857:13:21", + "nodeType": "YulFunctionCall", + "src": "4857:13:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4850:6:21", + "nodeType": "YulIdentifier", + "src": "4850:6:21" + }, + "nativeSrc": "4850:21:21", + "nodeType": "YulFunctionCall", + "src": "4850:21:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4839:7:21", + "nodeType": "YulIdentifier", + "src": "4839:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "4787:90:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4811:5:21", + "nodeType": "YulTypedName", + "src": "4811:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4821:7:21", + "nodeType": "YulTypedName", + "src": "4821:7:21", + "type": "" + } + ], + "src": "4787:90:21" + }, + { + "body": { + "nativeSrc": "4950:50:21", + "nodeType": "YulBlock", + "src": "4950:50:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4967:3:21", + "nodeType": "YulIdentifier", + "src": "4967:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4987:5:21", + "nodeType": "YulIdentifier", + "src": "4987:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "4972:14:21", + "nodeType": "YulIdentifier", + "src": "4972:14:21" + }, + "nativeSrc": "4972:21:21", + "nodeType": "YulFunctionCall", + "src": "4972:21:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4960:6:21", + "nodeType": "YulIdentifier", + "src": "4960:6:21" + }, + "nativeSrc": "4960:34:21", + "nodeType": "YulFunctionCall", + "src": "4960:34:21" + }, + "nativeSrc": "4960:34:21", + "nodeType": "YulExpressionStatement", + "src": "4960:34:21" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack_library", + "nativeSrc": "4883:117:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4938:5:21", + "nodeType": "YulTypedName", + "src": "4938:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4945:3:21", + "nodeType": "YulTypedName", + "src": "4945:3:21", + "type": "" + } + ], + "src": "4883:117:21" + }, + { + "body": { + "nativeSrc": "5106:126:21", + "nodeType": "YulBlock", + "src": "5106:126:21", + "statements": [ + { + "nativeSrc": "5116:26:21", + "nodeType": "YulAssignment", + "src": "5116:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5128:9:21", + "nodeType": "YulIdentifier", + "src": "5128:9:21" + }, + { + "kind": "number", + "nativeSrc": "5139:2:21", + "nodeType": "YulLiteral", + "src": "5139:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5124:3:21", + "nodeType": "YulIdentifier", + "src": "5124:3:21" + }, + "nativeSrc": "5124:18:21", + "nodeType": "YulFunctionCall", + "src": "5124:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5116:4:21", + "nodeType": "YulIdentifier", + "src": "5116:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5198:6:21", + "nodeType": "YulIdentifier", + "src": "5198:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5211:9:21", + "nodeType": "YulIdentifier", + "src": "5211:9:21" + }, + { + "kind": "number", + "nativeSrc": "5222:1:21", + "nodeType": "YulLiteral", + "src": "5222:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5207:3:21", + "nodeType": "YulIdentifier", + "src": "5207:3:21" + }, + "nativeSrc": "5207:17:21", + "nodeType": "YulFunctionCall", + "src": "5207:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack_library", + "nativeSrc": "5152:45:21", + "nodeType": "YulIdentifier", + "src": "5152:45:21" + }, + "nativeSrc": "5152:73:21", + "nodeType": "YulFunctionCall", + "src": "5152:73:21" + }, + "nativeSrc": "5152:73:21", + "nodeType": "YulExpressionStatement", + "src": "5152:73:21" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed", + "nativeSrc": "5006:226:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5078:9:21", + "nodeType": "YulTypedName", + "src": "5078:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5090:6:21", + "nodeType": "YulTypedName", + "src": "5090:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5101:4:21", + "nodeType": "YulTypedName", + "src": "5101:4:21", + "type": "" + } + ], + "src": "5006:226:21" + }, + { + "body": { + "nativeSrc": "5266:152:21", + "nodeType": "YulBlock", + "src": "5266:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5283:1:21", + "nodeType": "YulLiteral", + "src": "5283:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5286:77:21", + "nodeType": "YulLiteral", + "src": "5286:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5276:6:21", + "nodeType": "YulIdentifier", + "src": "5276:6:21" + }, + "nativeSrc": "5276:88:21", + "nodeType": "YulFunctionCall", + "src": "5276:88:21" + }, + "nativeSrc": "5276:88:21", + "nodeType": "YulExpressionStatement", + "src": "5276:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5380:1:21", + "nodeType": "YulLiteral", + "src": "5380:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5383:4:21", + "nodeType": "YulLiteral", + "src": "5383:4:21", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5373:6:21", + "nodeType": "YulIdentifier", + "src": "5373:6:21" + }, + "nativeSrc": "5373:15:21", + "nodeType": "YulFunctionCall", + "src": "5373:15:21" + }, + "nativeSrc": "5373:15:21", + "nodeType": "YulExpressionStatement", + "src": "5373:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5404:1:21", + "nodeType": "YulLiteral", + "src": "5404:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5407:4:21", + "nodeType": "YulLiteral", + "src": "5407:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5397:6:21", + "nodeType": "YulIdentifier", + "src": "5397:6:21" + }, + "nativeSrc": "5397:15:21", + "nodeType": "YulFunctionCall", + "src": "5397:15:21" + }, + "nativeSrc": "5397:15:21", + "nodeType": "YulExpressionStatement", + "src": "5397:15:21" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "5238:180:21", + "nodeType": "YulFunctionDefinition", + "src": "5238:180:21" + }, + { + "body": { + "nativeSrc": "5467:43:21", + "nodeType": "YulBlock", + "src": "5467:43:21", + "statements": [ + { + "nativeSrc": "5477:27:21", + "nodeType": "YulAssignment", + "src": "5477:27:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5492:5:21", + "nodeType": "YulIdentifier", + "src": "5492:5:21" + }, + { + "kind": "number", + "nativeSrc": "5499:4:21", + "nodeType": "YulLiteral", + "src": "5499:4:21", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5488:3:21", + "nodeType": "YulIdentifier", + "src": "5488:3:21" + }, + "nativeSrc": "5488:16:21", + "nodeType": "YulFunctionCall", + "src": "5488:16:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "5477:7:21", + "nodeType": "YulIdentifier", + "src": "5477:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nativeSrc": "5424:86:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "5449:5:21", + "nodeType": "YulTypedName", + "src": "5449:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "5459:7:21", + "nodeType": "YulTypedName", + "src": "5459:7:21", + "type": "" + } + ], + "src": "5424:86:21" + }, + { + "body": { + "nativeSrc": "5544:152:21", + "nodeType": "YulBlock", + "src": "5544:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5561:1:21", + "nodeType": "YulLiteral", + "src": "5561:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5564:77:21", + "nodeType": "YulLiteral", + "src": "5564:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5554:6:21", + "nodeType": "YulIdentifier", + "src": "5554:6:21" + }, + "nativeSrc": "5554:88:21", + "nodeType": "YulFunctionCall", + "src": "5554:88:21" + }, + "nativeSrc": "5554:88:21", + "nodeType": "YulExpressionStatement", + "src": "5554:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5658:1:21", + "nodeType": "YulLiteral", + "src": "5658:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "5661:4:21", + "nodeType": "YulLiteral", + "src": "5661:4:21", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5651:6:21", + "nodeType": "YulIdentifier", + "src": "5651:6:21" + }, + "nativeSrc": "5651:15:21", + "nodeType": "YulFunctionCall", + "src": "5651:15:21" + }, + "nativeSrc": "5651:15:21", + "nodeType": "YulExpressionStatement", + "src": "5651:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5682:1:21", + "nodeType": "YulLiteral", + "src": "5682:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5685:4:21", + "nodeType": "YulLiteral", + "src": "5685:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5675:6:21", + "nodeType": "YulIdentifier", + "src": "5675:6:21" + }, + "nativeSrc": "5675:15:21", + "nodeType": "YulFunctionCall", + "src": "5675:15:21" + }, + "nativeSrc": "5675:15:21", + "nodeType": "YulExpressionStatement", + "src": "5675:15:21" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "5516:180:21", + "nodeType": "YulFunctionDefinition", + "src": "5516:180:21" + }, + { + "body": { + "nativeSrc": "5745:148:21", + "nodeType": "YulBlock", + "src": "5745:148:21", + "statements": [ + { + "nativeSrc": "5755:23:21", + "nodeType": "YulAssignment", + "src": "5755:23:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5776:1:21", + "nodeType": "YulIdentifier", + "src": "5776:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "5760:15:21", + "nodeType": "YulIdentifier", + "src": "5760:15:21" + }, + "nativeSrc": "5760:18:21", + "nodeType": "YulFunctionCall", + "src": "5760:18:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "5755:1:21", + "nodeType": "YulIdentifier", + "src": "5755:1:21" + } + ] + }, + { + "nativeSrc": "5787:23:21", + "nodeType": "YulAssignment", + "src": "5787:23:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "5808:1:21", + "nodeType": "YulIdentifier", + "src": "5808:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nativeSrc": "5792:15:21", + "nodeType": "YulIdentifier", + "src": "5792:15:21" + }, + "nativeSrc": "5792:18:21", + "nodeType": "YulFunctionCall", + "src": "5792:18:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "5787:1:21", + "nodeType": "YulIdentifier", + "src": "5787:1:21" + } + ] + }, + { + "nativeSrc": "5819:17:21", + "nodeType": "YulAssignment", + "src": "5819:17:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5831:1:21", + "nodeType": "YulIdentifier", + "src": "5831:1:21" + }, + { + "name": "y", + "nativeSrc": "5834:1:21", + "nodeType": "YulIdentifier", + "src": "5834:1:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5827:3:21", + "nodeType": "YulIdentifier", + "src": "5827:3:21" + }, + "nativeSrc": "5827:9:21", + "nodeType": "YulFunctionCall", + "src": "5827:9:21" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "5819:4:21", + "nodeType": "YulIdentifier", + "src": "5819:4:21" + } + ] + }, + { + "body": { + "nativeSrc": "5864:22:21", + "nodeType": "YulBlock", + "src": "5864:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "5866:16:21", + "nodeType": "YulIdentifier", + "src": "5866:16:21" + }, + "nativeSrc": "5866:18:21", + "nodeType": "YulFunctionCall", + "src": "5866:18:21" + }, + "nativeSrc": "5866:18:21", + "nodeType": "YulExpressionStatement", + "src": "5866:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "5852:4:21", + "nodeType": "YulIdentifier", + "src": "5852:4:21" + }, + { + "kind": "number", + "nativeSrc": "5858:4:21", + "nodeType": "YulLiteral", + "src": "5858:4:21", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5849:2:21", + "nodeType": "YulIdentifier", + "src": "5849:2:21" + }, + "nativeSrc": "5849:14:21", + "nodeType": "YulFunctionCall", + "src": "5849:14:21" + }, + "nativeSrc": "5846:40:21", + "nodeType": "YulIf", + "src": "5846:40:21" + } + ] + }, + "name": "checked_sub_t_uint8", + "nativeSrc": "5702:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "5731:1:21", + "nodeType": "YulTypedName", + "src": "5731:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "5734:1:21", + "nodeType": "YulTypedName", + "src": "5734:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "5740:4:21", + "nodeType": "YulTypedName", + "src": "5740:4:21", + "type": "" + } + ], + "src": "5702:191:21" + }, + { + "body": { + "nativeSrc": "5947:362:21", + "nodeType": "YulBlock", + "src": "5947:362:21", + "statements": [ + { + "nativeSrc": "5957:25:21", + "nodeType": "YulAssignment", + "src": "5957:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "5980:1:21", + "nodeType": "YulIdentifier", + "src": "5980:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5962:17:21", + "nodeType": "YulIdentifier", + "src": "5962:17:21" + }, + "nativeSrc": "5962:20:21", + "nodeType": "YulFunctionCall", + "src": "5962:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "5957:1:21", + "nodeType": "YulIdentifier", + "src": "5957:1:21" + } + ] + }, + { + "nativeSrc": "5991:25:21", + "nodeType": "YulAssignment", + "src": "5991:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "6014:1:21", + "nodeType": "YulIdentifier", + "src": "6014:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "5996:17:21", + "nodeType": "YulIdentifier", + "src": "5996:17:21" + }, + "nativeSrc": "5996:20:21", + "nodeType": "YulFunctionCall", + "src": "5996:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "5991:1:21", + "nodeType": "YulIdentifier", + "src": "5991:1:21" + } + ] + }, + { + "nativeSrc": "6025:28:21", + "nodeType": "YulVariableDeclaration", + "src": "6025:28:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6048:1:21", + "nodeType": "YulIdentifier", + "src": "6048:1:21" + }, + { + "name": "y", + "nativeSrc": "6051:1:21", + "nodeType": "YulIdentifier", + "src": "6051:1:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "6044:3:21", + "nodeType": "YulIdentifier", + "src": "6044:3:21" + }, + "nativeSrc": "6044:9:21", + "nodeType": "YulFunctionCall", + "src": "6044:9:21" + }, + "variables": [ + { + "name": "product_raw", + "nativeSrc": "6029:11:21", + "nodeType": "YulTypedName", + "src": "6029:11:21", + "type": "" + } + ] + }, + { + "nativeSrc": "6062:41:21", + "nodeType": "YulAssignment", + "src": "6062:41:21", + "value": { + "arguments": [ + { + "name": "product_raw", + "nativeSrc": "6091:11:21", + "nodeType": "YulIdentifier", + "src": "6091:11:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6073:17:21", + "nodeType": "YulIdentifier", + "src": "6073:17:21" + }, + "nativeSrc": "6073:30:21", + "nodeType": "YulFunctionCall", + "src": "6073:30:21" + }, + "variableNames": [ + { + "name": "product", + "nativeSrc": "6062:7:21", + "nodeType": "YulIdentifier", + "src": "6062:7:21" + } + ] + }, + { + "body": { + "nativeSrc": "6280:22:21", + "nodeType": "YulBlock", + "src": "6280:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "6282:16:21", + "nodeType": "YulIdentifier", + "src": "6282:16:21" + }, + "nativeSrc": "6282:18:21", + "nodeType": "YulFunctionCall", + "src": "6282:18:21" + }, + "nativeSrc": "6282:18:21", + "nodeType": "YulExpressionStatement", + "src": "6282:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "6213:1:21", + "nodeType": "YulIdentifier", + "src": "6213:1:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6206:6:21", + "nodeType": "YulIdentifier", + "src": "6206:6:21" + }, + "nativeSrc": "6206:9:21", + "nodeType": "YulFunctionCall", + "src": "6206:9:21" + }, + { + "arguments": [ + { + "name": "y", + "nativeSrc": "6236:1:21", + "nodeType": "YulIdentifier", + "src": "6236:1:21" + }, + { + "arguments": [ + { + "name": "product", + "nativeSrc": "6243:7:21", + "nodeType": "YulIdentifier", + "src": "6243:7:21" + }, + { + "name": "x", + "nativeSrc": "6252:1:21", + "nodeType": "YulIdentifier", + "src": "6252:1:21" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "6239:3:21", + "nodeType": "YulIdentifier", + "src": "6239:3:21" + }, + "nativeSrc": "6239:15:21", + "nodeType": "YulFunctionCall", + "src": "6239:15:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6233:2:21", + "nodeType": "YulIdentifier", + "src": "6233:2:21" + }, + "nativeSrc": "6233:22:21", + "nodeType": "YulFunctionCall", + "src": "6233:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "6186:2:21", + "nodeType": "YulIdentifier", + "src": "6186:2:21" + }, + "nativeSrc": "6186:83:21", + "nodeType": "YulFunctionCall", + "src": "6186:83:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6166:6:21", + "nodeType": "YulIdentifier", + "src": "6166:6:21" + }, + "nativeSrc": "6166:113:21", + "nodeType": "YulFunctionCall", + "src": "6166:113:21" + }, + "nativeSrc": "6163:139:21", + "nodeType": "YulIf", + "src": "6163:139:21" + } + ] + }, + "name": "checked_mul_t_uint256", + "nativeSrc": "5899:410:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "5930:1:21", + "nodeType": "YulTypedName", + "src": "5930:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "5933:1:21", + "nodeType": "YulTypedName", + "src": "5933:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nativeSrc": "5939:7:21", + "nodeType": "YulTypedName", + "src": "5939:7:21", + "type": "" + } + ], + "src": "5899:410:21" + }, + { + "body": { + "nativeSrc": "6359:147:21", + "nodeType": "YulBlock", + "src": "6359:147:21", + "statements": [ + { + "nativeSrc": "6369:25:21", + "nodeType": "YulAssignment", + "src": "6369:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6392:1:21", + "nodeType": "YulIdentifier", + "src": "6392:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6374:17:21", + "nodeType": "YulIdentifier", + "src": "6374:17:21" + }, + "nativeSrc": "6374:20:21", + "nodeType": "YulFunctionCall", + "src": "6374:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "6369:1:21", + "nodeType": "YulIdentifier", + "src": "6369:1:21" + } + ] + }, + { + "nativeSrc": "6403:25:21", + "nodeType": "YulAssignment", + "src": "6403:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "6426:1:21", + "nodeType": "YulIdentifier", + "src": "6426:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6408:17:21", + "nodeType": "YulIdentifier", + "src": "6408:17:21" + }, + "nativeSrc": "6408:20:21", + "nodeType": "YulFunctionCall", + "src": "6408:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "6403:1:21", + "nodeType": "YulIdentifier", + "src": "6403:1:21" + } + ] + }, + { + "nativeSrc": "6437:16:21", + "nodeType": "YulAssignment", + "src": "6437:16:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6448:1:21", + "nodeType": "YulIdentifier", + "src": "6448:1:21" + }, + { + "name": "y", + "nativeSrc": "6451:1:21", + "nodeType": "YulIdentifier", + "src": "6451:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6444:3:21", + "nodeType": "YulIdentifier", + "src": "6444:3:21" + }, + "nativeSrc": "6444:9:21", + "nodeType": "YulFunctionCall", + "src": "6444:9:21" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "6437:3:21", + "nodeType": "YulIdentifier", + "src": "6437:3:21" + } + ] + }, + { + "body": { + "nativeSrc": "6477:22:21", + "nodeType": "YulBlock", + "src": "6477:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "6479:16:21", + "nodeType": "YulIdentifier", + "src": "6479:16:21" + }, + "nativeSrc": "6479:18:21", + "nodeType": "YulFunctionCall", + "src": "6479:18:21" + }, + "nativeSrc": "6479:18:21", + "nodeType": "YulExpressionStatement", + "src": "6479:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "6469:1:21", + "nodeType": "YulIdentifier", + "src": "6469:1:21" + }, + { + "name": "sum", + "nativeSrc": "6472:3:21", + "nodeType": "YulIdentifier", + "src": "6472:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6466:2:21", + "nodeType": "YulIdentifier", + "src": "6466:2:21" + }, + "nativeSrc": "6466:10:21", + "nodeType": "YulFunctionCall", + "src": "6466:10:21" + }, + "nativeSrc": "6463:36:21", + "nodeType": "YulIf", + "src": "6463:36:21" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "6315:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "6346:1:21", + "nodeType": "YulTypedName", + "src": "6346:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "6349:1:21", + "nodeType": "YulTypedName", + "src": "6349:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "6355:3:21", + "nodeType": "YulTypedName", + "src": "6355:3:21", + "type": "" + } + ], + "src": "6315:191:21" + }, + { + "body": { + "nativeSrc": "6608:73:21", + "nodeType": "YulBlock", + "src": "6608:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6625:3:21", + "nodeType": "YulIdentifier", + "src": "6625:3:21" + }, + { + "name": "length", + "nativeSrc": "6630:6:21", + "nodeType": "YulIdentifier", + "src": "6630:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6618:6:21", + "nodeType": "YulIdentifier", + "src": "6618:6:21" + }, + "nativeSrc": "6618:19:21", + "nodeType": "YulFunctionCall", + "src": "6618:19:21" + }, + "nativeSrc": "6618:19:21", + "nodeType": "YulExpressionStatement", + "src": "6618:19:21" + }, + { + "nativeSrc": "6646:29:21", + "nodeType": "YulAssignment", + "src": "6646:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6665:3:21", + "nodeType": "YulIdentifier", + "src": "6665:3:21" + }, + { + "kind": "number", + "nativeSrc": "6670:4:21", + "nodeType": "YulLiteral", + "src": "6670:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6661:3:21", + "nodeType": "YulIdentifier", + "src": "6661:3:21" + }, + "nativeSrc": "6661:14:21", + "nodeType": "YulFunctionCall", + "src": "6661:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "6646:11:21", + "nodeType": "YulIdentifier", + "src": "6646:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "6512:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6580:3:21", + "nodeType": "YulTypedName", + "src": "6580:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "6585:6:21", + "nodeType": "YulTypedName", + "src": "6585:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "6596:11:21", + "nodeType": "YulTypedName", + "src": "6596:11:21", + "type": "" + } + ], + "src": "6512:169:21" + }, + { + "body": { + "nativeSrc": "6793:67:21", + "nodeType": "YulBlock", + "src": "6793:67:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "6815:6:21", + "nodeType": "YulIdentifier", + "src": "6815:6:21" + }, + { + "kind": "number", + "nativeSrc": "6823:1:21", + "nodeType": "YulLiteral", + "src": "6823:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6811:3:21", + "nodeType": "YulIdentifier", + "src": "6811:3:21" + }, + "nativeSrc": "6811:14:21", + "nodeType": "YulFunctionCall", + "src": "6811:14:21" + }, + { + "hexValue": "4e6f206e756d657269632073756666697820666f756e64", + "kind": "string", + "nativeSrc": "6827:25:21", + "nodeType": "YulLiteral", + "src": "6827:25:21", + "type": "", + "value": "No numeric suffix found" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6804:6:21", + "nodeType": "YulIdentifier", + "src": "6804:6:21" + }, + "nativeSrc": "6804:49:21", + "nodeType": "YulFunctionCall", + "src": "6804:49:21" + }, + "nativeSrc": "6804:49:21", + "nodeType": "YulExpressionStatement", + "src": "6804:49:21" + } + ] + }, + "name": "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "nativeSrc": "6687:173:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "6785:6:21", + "nodeType": "YulTypedName", + "src": "6785:6:21", + "type": "" + } + ], + "src": "6687:173:21" + }, + { + "body": { + "nativeSrc": "7012:220:21", + "nodeType": "YulBlock", + "src": "7012:220:21", + "statements": [ + { + "nativeSrc": "7022:74:21", + "nodeType": "YulAssignment", + "src": "7022:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7088:3:21", + "nodeType": "YulIdentifier", + "src": "7088:3:21" + }, + { + "kind": "number", + "nativeSrc": "7093:2:21", + "nodeType": "YulLiteral", + "src": "7093:2:21", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "7029:58:21", + "nodeType": "YulIdentifier", + "src": "7029:58:21" + }, + "nativeSrc": "7029:67:21", + "nodeType": "YulFunctionCall", + "src": "7029:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7022:3:21", + "nodeType": "YulIdentifier", + "src": "7022:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7194:3:21", + "nodeType": "YulIdentifier", + "src": "7194:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46", + "nativeSrc": "7105:88:21", + "nodeType": "YulIdentifier", + "src": "7105:88:21" + }, + "nativeSrc": "7105:93:21", + "nodeType": "YulFunctionCall", + "src": "7105:93:21" + }, + "nativeSrc": "7105:93:21", + "nodeType": "YulExpressionStatement", + "src": "7105:93:21" + }, + { + "nativeSrc": "7207:19:21", + "nodeType": "YulAssignment", + "src": "7207:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7218:3:21", + "nodeType": "YulIdentifier", + "src": "7218:3:21" + }, + { + "kind": "number", + "nativeSrc": "7223:2:21", + "nodeType": "YulLiteral", + "src": "7223:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7214:3:21", + "nodeType": "YulIdentifier", + "src": "7214:3:21" + }, + "nativeSrc": "7214:12:21", + "nodeType": "YulFunctionCall", + "src": "7214:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "7207:3:21", + "nodeType": "YulIdentifier", + "src": "7207:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6866:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "7000:3:21", + "nodeType": "YulTypedName", + "src": "7000:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "7008:3:21", + "nodeType": "YulTypedName", + "src": "7008:3:21", + "type": "" + } + ], + "src": "6866:366:21" + }, + { + "body": { + "nativeSrc": "7409:248:21", + "nodeType": "YulBlock", + "src": "7409:248:21", + "statements": [ + { + "nativeSrc": "7419:26:21", + "nodeType": "YulAssignment", + "src": "7419:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7431:9:21", + "nodeType": "YulIdentifier", + "src": "7431:9:21" + }, + { + "kind": "number", + "nativeSrc": "7442:2:21", + "nodeType": "YulLiteral", + "src": "7442:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7427:3:21", + "nodeType": "YulIdentifier", + "src": "7427:3:21" + }, + "nativeSrc": "7427:18:21", + "nodeType": "YulFunctionCall", + "src": "7427:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7419:4:21", + "nodeType": "YulIdentifier", + "src": "7419:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7466:9:21", + "nodeType": "YulIdentifier", + "src": "7466:9:21" + }, + { + "kind": "number", + "nativeSrc": "7477:1:21", + "nodeType": "YulLiteral", + "src": "7477:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7462:3:21", + "nodeType": "YulIdentifier", + "src": "7462:3:21" + }, + "nativeSrc": "7462:17:21", + "nodeType": "YulFunctionCall", + "src": "7462:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7485:4:21", + "nodeType": "YulIdentifier", + "src": "7485:4:21" + }, + { + "name": "headStart", + "nativeSrc": "7491:9:21", + "nodeType": "YulIdentifier", + "src": "7491:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7481:3:21", + "nodeType": "YulIdentifier", + "src": "7481:3:21" + }, + "nativeSrc": "7481:20:21", + "nodeType": "YulFunctionCall", + "src": "7481:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7455:6:21", + "nodeType": "YulIdentifier", + "src": "7455:6:21" + }, + "nativeSrc": "7455:47:21", + "nodeType": "YulFunctionCall", + "src": "7455:47:21" + }, + "nativeSrc": "7455:47:21", + "nodeType": "YulExpressionStatement", + "src": "7455:47:21" + }, + { + "nativeSrc": "7511:139:21", + "nodeType": "YulAssignment", + "src": "7511:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "7645:4:21", + "nodeType": "YulIdentifier", + "src": "7645:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack", + "nativeSrc": "7519:124:21", + "nodeType": "YulIdentifier", + "src": "7519:124:21" + }, + "nativeSrc": "7519:131:21", + "nodeType": "YulFunctionCall", + "src": "7519:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7511:4:21", + "nodeType": "YulIdentifier", + "src": "7511:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "7238:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7389:9:21", + "nodeType": "YulTypedName", + "src": "7389:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7404:4:21", + "nodeType": "YulTypedName", + "src": "7404:4:21", + "type": "" + } + ], + "src": "7238:419:21" + }, + { + "body": { + "nativeSrc": "7706:190:21", + "nodeType": "YulBlock", + "src": "7706:190:21", + "statements": [ + { + "nativeSrc": "7716:33:21", + "nodeType": "YulAssignment", + "src": "7716:33:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7743:5:21", + "nodeType": "YulIdentifier", + "src": "7743:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "7725:17:21", + "nodeType": "YulIdentifier", + "src": "7725:17:21" + }, + "nativeSrc": "7725:24:21", + "nodeType": "YulFunctionCall", + "src": "7725:24:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "7716:5:21", + "nodeType": "YulIdentifier", + "src": "7716:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "7839:22:21", + "nodeType": "YulBlock", + "src": "7839:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "7841:16:21", + "nodeType": "YulIdentifier", + "src": "7841:16:21" + }, + "nativeSrc": "7841:18:21", + "nodeType": "YulFunctionCall", + "src": "7841:18:21" + }, + "nativeSrc": "7841:18:21", + "nodeType": "YulExpressionStatement", + "src": "7841:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7764:5:21", + "nodeType": "YulIdentifier", + "src": "7764:5:21" + }, + { + "kind": "number", + "nativeSrc": "7771:66:21", + "nodeType": "YulLiteral", + "src": "7771:66:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "7761:2:21", + "nodeType": "YulIdentifier", + "src": "7761:2:21" + }, + "nativeSrc": "7761:77:21", + "nodeType": "YulFunctionCall", + "src": "7761:77:21" + }, + "nativeSrc": "7758:103:21", + "nodeType": "YulIf", + "src": "7758:103:21" + }, + { + "nativeSrc": "7870:20:21", + "nodeType": "YulAssignment", + "src": "7870:20:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7881:5:21", + "nodeType": "YulIdentifier", + "src": "7881:5:21" + }, + { + "kind": "number", + "nativeSrc": "7888:1:21", + "nodeType": "YulLiteral", + "src": "7888:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7877:3:21", + "nodeType": "YulIdentifier", + "src": "7877:3:21" + }, + "nativeSrc": "7877:13:21", + "nodeType": "YulFunctionCall", + "src": "7877:13:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "7870:3:21", + "nodeType": "YulIdentifier", + "src": "7870:3:21" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "7663:233:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7692:5:21", + "nodeType": "YulTypedName", + "src": "7692:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "7702:3:21", + "nodeType": "YulTypedName", + "src": "7702:3:21", + "type": "" + } + ], + "src": "7663:233:21" + } + ] + }, + "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_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\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 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_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\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_with_cleanup(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 function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\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_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\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 mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack_library(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint8(x, y) -> diff {\n x := cleanup_t_uint8(x)\n y := cleanup_t_uint8(y)\n diff := sub(x, y)\n\n if gt(diff, 0xff) { panic_error_0x11() }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46(memPtr) {\n\n mstore(add(memPtr, 0), \"No numeric suffix found\")\n\n }\n\n function abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7a44fd8a47458bae26d803c8fc78b661bb186532592b492e791dbbc5fce49a46_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DEA91D EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x4062ACE3 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0x94BC2DB6 EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0xE5C4CF73 EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x11B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x28A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE2 SWAP2 SWAP1 PUSH2 0x6C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x3A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST DUP5 MLOAD DUP2 LT ISZERO PUSH2 0x1BE JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x144 JUMPI PUSH2 0x143 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP PUSH1 0x30 DUP2 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH2 0x16C JUMPI POP PUSH1 0x39 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x30 DUP2 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0x78A JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0xA DUP6 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP4 POP PUSH1 0x1 SWAP3 POP PUSH2 0x1B0 JUMP JUMPDEST DUP3 ISZERO PUSH2 0x1AF JUMPI POP PUSH2 0x1BE JUMP JUMPDEST JUMPDEST POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x126 JUMP JUMPDEST POP DUP1 PUSH2 0x1FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F6 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x231 JUMPI PUSH2 0x230 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP2 SUB PUSH2 0x252 JUMPI POP PUSH2 0x280 JUMP JUMPDEST DUP3 DUP1 PUSH2 0x25D SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x1 DUP2 PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP3 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x213 JUMP JUMPDEST DUP2 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP DUP2 DUP1 PUSH2 0x2BD SWAP1 PUSH2 0x8B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DF JUMPI PUSH2 0x2DE PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x311 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x39A JUMPI DUP6 DUP2 DUP6 PUSH2 0x32F SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x340 JUMPI PUSH2 0x33F PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x35E JUMPI PUSH2 0x35D PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x317 JUMP JUMPDEST POP DUP1 SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x466 JUMPI PUSH1 0x30 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x3CF JUMPI PUSH2 0x3CE PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND LT DUP1 PUSH2 0x44A JUMPI POP PUSH1 0x39 PUSH1 0xF8 SHL DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x41B JUMPI PUSH2 0x41A PUSH2 0x71F JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND GT JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x46C JUMP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3AE JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP2 SWAP1 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 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 0x4D8 DUP3 PUSH2 0x48F JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4F7 JUMPI PUSH2 0x4F6 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50A PUSH2 0x471 JUMP JUMPDEST SWAP1 POP PUSH2 0x516 DUP3 DUP3 PUSH2 0x4CF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x536 JUMPI PUSH2 0x535 PUSH2 0x4A0 JUMP JUMPDEST JUMPDEST PUSH2 0x53F DUP3 PUSH2 0x48F 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 0x56E PUSH2 0x569 DUP5 PUSH2 0x51B JUMP JUMPDEST PUSH2 0x500 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x58A JUMPI PUSH2 0x589 PUSH2 0x48A JUMP JUMPDEST JUMPDEST PUSH2 0x595 DUP5 DUP3 DUP6 PUSH2 0x54C JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x5B2 JUMPI PUSH2 0x5B1 PUSH2 0x485 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5C2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x55B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E1 JUMPI PUSH2 0x5E0 PUSH2 0x47B JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5FF JUMPI PUSH2 0x5FE PUSH2 0x480 JUMP JUMPDEST JUMPDEST PUSH2 0x60B DUP5 DUP3 DUP6 ADD PUSH2 0x59D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x627 DUP2 PUSH2 0x614 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x642 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x61E JUMP JUMPDEST SWAP3 SWAP2 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x682 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x667 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x699 DUP3 PUSH2 0x648 JUMP JUMPDEST PUSH2 0x6A3 DUP2 DUP6 PUSH2 0x653 JUMP JUMPDEST SWAP4 POP PUSH2 0x6B3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x664 JUMP JUMPDEST PUSH2 0x6BC DUP2 PUSH2 0x48F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6E1 DUP2 DUP5 PUSH2 0x68E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FE DUP2 PUSH2 0x6E9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x795 DUP3 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7A0 DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP PUSH1 0xFF DUP2 GT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7CA DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D5 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x7E3 DUP2 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x7FA JUMPI PUSH2 0x7F9 PUSH2 0x75B JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80C DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH2 0x817 DUP4 PUSH2 0x614 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x82F JUMPI PUSH2 0x82E PUSH2 0x75B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F206E756D657269632073756666697820666F756E64000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x87C PUSH1 0x17 DUP4 PUSH2 0x835 JUMP JUMPDEST SWAP2 POP PUSH2 0x887 DUP3 PUSH2 0x846 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8AB DUP2 PUSH2 0x86F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8BD DUP3 PUSH2 0x614 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x8EF JUMPI PUSH2 0x8EE PUSH2 0x75B JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xED PUSH11 0x9E0A1DC1E9B8EB0165073E BLOBHASH EXTCODESIZE INVALID DUP12 TSTORE 0xEC PUSH16 0x75F400AA83268538B52161F964736F6C PUSH4 0x43000819 STOP CALLER ", + "sourceMap": "159:2436:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;873:667;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2200:393;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;342:365;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1695:326;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;873:667;960:7;979:11;993:1;979:15;;1004:14;1042:9;1037:421;1061:5;:12;1057:1;:16;1037:421;;;1094:10;1113:5;1119:1;1113:8;;;;;;;;:::i;:::-;;;;;;;;;;1107:15;;1094:28;;1148:2;1140:4;:10;;;;:24;;;;;1162:2;1154:4;:10;;;;1140:24;1136:312;;;1262:2;1255:4;:9;;;;:::i;:::-;1243:22;;1249:2;1243:3;:8;;;;:::i;:::-;:22;;;;:::i;:::-;1237:28;;1295:4;1283:16;;1136:312;;;1324:9;1320:128;;;1428:5;;;1320:128;1136:312;1080:378;1075:3;;;;;;;1037:421;;;;1476:9;1468:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1530:3;1523:10;;;;873:667;;;:::o;2200:393::-;2262:4;2278:10;2291:1;2278:14;;2302:6;2323:241;2334:5;:12;2330:1;:16;2323:241;;;2362:16;2392:5;2398:1;2392:8;;;;;;;;:::i;:::-;;;;;;;;;;2386:15;;2381:21;;2362:40;;2435:1;2420:11;:16;2416:83;;2456:5;;;2416:83;2512:7;;;;;:::i;:::-;;;;2552:1;2538:11;:15;;;;:::i;:::-;2533:20;;;;;:::i;:::-;;;2348:216;2323:241;;;2581:5;2574:12;;;;2200:393;;;:::o;342:365::-;425:12;449:11;474:17;500:4;505:3;500:9;;;;;;;;:::i;:::-;;;;;;;;;;494:16;;474:36;;520:5;;;;;:::i;:::-;;;;535:18;566:11;556:22;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:43;;593:9;588:91;612:11;608:15;;:1;:15;588:91;;;655:4;666:1;660:3;:7;;;;:::i;:::-;655:13;;;;;;;;:::i;:::-;;;;;;;;;;644:5;650:1;644:8;;;;;;;;:::i;:::-;;;;;:24;;;;;;;;;;;625:3;;;;;;;588:91;;;;695:5;688:12;;;;;342:365;;;:::o;1695:326::-;1754:4;1775:6;1784:1;1775:10;;1770:224;1791:5;:12;1787:1;:16;1770:224;;;1914:4;1903:15;;:5;1909:1;1903:8;;;;;;;;:::i;:::-;;;;;;;;;;:15;;;;:34;;;;1933:4;1922:15;;:5;1928:1;1922:8;;;;;;;;:::i;:::-;;;;;;;;;;:15;;;;1903:34;1899:85;;;1964:5;1957:12;;;;;1899:85;1805:3;;;;;;;1770:224;;;;2010:4;2003:11;;1695:326;;;;:::o;7:75:21:-;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:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:148::-;1707:6;1702:3;1697;1684:30;1748:1;1739:6;1734:3;1730:16;1723:27;1609:148;;;:::o;1763:423::-;1840:5;1865:65;1881:48;1922:6;1881:48;:::i;:::-;1865:65;:::i;:::-;1856:74;;1953:6;1946:5;1939:21;1991:4;1984:5;1980:16;2029:3;2020:6;2015:3;2011:16;2008:25;2005:112;;;2036:79;;:::i;:::-;2005:112;2126:54;2173:6;2168:3;2163;2126:54;:::i;:::-;1846:340;1763:423;;;;;:::o;2205:338::-;2260:5;2309:3;2302:4;2294:6;2290:17;2286:27;2276:122;;2317:79;;:::i;:::-;2276:122;2434:6;2421:20;2459:78;2533:3;2525:6;2518:4;2510:6;2506:17;2459:78;:::i;:::-;2450:87;;2266:277;2205:338;;;;:::o;2549:507::-;2617:6;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2820:1;2809:9;2805:17;2792:31;2850:18;2842:6;2839:30;2836:117;;;2872:79;;:::i;:::-;2836:117;2977:62;3031:7;3022:6;3011:9;3007:22;2977:62;:::i;:::-;2967:72;;2763:286;2549:507;;;;:::o;3062:77::-;3099:7;3128:5;3117:16;;3062:77;;;:::o;3145:126::-;3240:24;3258:5;3240:24;:::i;:::-;3235:3;3228:37;3145:126;;:::o;3277:238::-;3378:4;3416:2;3405:9;3401:18;3393:26;;3429:79;3505:1;3494:9;3490:17;3481:6;3429:79;:::i;:::-;3277:238;;;;:::o;3521:98::-;3572:6;3606:5;3600:12;3590:22;;3521:98;;;:::o;3625:176::-;3716:11;3750:6;3745:3;3738:19;3790:4;3785:3;3781:14;3766:29;;3625:176;;;;:::o;3807:248::-;3889:1;3899:113;3913:6;3910:1;3907:13;3899:113;;;3998:1;3993:3;3989:11;3983:18;3979:1;3974:3;3970:11;3963:39;3935:2;3932:1;3928:10;3923:15;;3899:113;;;4046:1;4037:6;4032:3;4028:16;4021:27;3869:186;3807:248;;;:::o;4061:389::-;4155:3;4183:38;4215:5;4183:38;:::i;:::-;4237:78;4308:6;4303:3;4237:78;:::i;:::-;4230:85;;4324:65;4382:6;4377:3;4370:4;4363:5;4359:16;4324:65;:::i;:::-;4414:29;4436:6;4414:29;:::i;:::-;4409:3;4405:39;4398:46;;4159:291;4061:389;;;;:::o;4456:325::-;4575:4;4613:2;4602:9;4598:18;4590:26;;4662:9;4656:4;4652:20;4648:1;4637:9;4633:17;4626:47;4690:84;4769:4;4760:6;4690:84;:::i;:::-;4682:92;;4456:325;;;;:::o;4787:90::-;4821:7;4864:5;4857:13;4850:21;4839:32;;4787:90;;;:::o;4883:117::-;4972:21;4987:5;4972:21;:::i;:::-;4967:3;4960:34;4883:117;;:::o;5006:226::-;5101:4;5139:2;5128:9;5124:18;5116:26;;5152:73;5222:1;5211:9;5207:17;5198:6;5152:73;:::i;:::-;5006:226;;;;:::o;5238:180::-;5286:77;5283:1;5276:88;5383:4;5380:1;5373:15;5407:4;5404:1;5397:15;5424:86;5459:7;5499:4;5492:5;5488:16;5477:27;;5424:86;;;:::o;5516:180::-;5564:77;5561:1;5554:88;5661:4;5658:1;5651:15;5685:4;5682:1;5675:15;5702:191;5740:4;5760:18;5776:1;5760:18;:::i;:::-;5755:23;;5792:18;5808:1;5792:18;:::i;:::-;5787:23;;5834:1;5831;5827:9;5819:17;;5858:4;5852;5849:14;5846:40;;;5866:18;;:::i;:::-;5846:40;5702:191;;;;:::o;5899:410::-;5939:7;5962:20;5980:1;5962:20;:::i;:::-;5957:25;;5996:20;6014:1;5996:20;:::i;:::-;5991:25;;6051:1;6048;6044:9;6073:30;6091:11;6073:30;:::i;:::-;6062:41;;6252:1;6243:7;6239:15;6236:1;6233:22;6213:1;6206:9;6186:83;6163:139;;6282:18;;:::i;:::-;6163:139;5947:362;5899:410;;;;:::o;6315:191::-;6355:3;6374:20;6392:1;6374:20;:::i;:::-;6369:25;;6408:20;6426:1;6408:20;:::i;:::-;6403:25;;6451:1;6448;6444:9;6437:16;;6472:3;6469:1;6466:10;6463:36;;;6479:18;;:::i;:::-;6463:36;6315:191;;;;:::o;6512:169::-;6596:11;6630:6;6625:3;6618:19;6670:4;6665:3;6661:14;6646:29;;6512:169;;;;:::o;6687:173::-;6827:25;6823:1;6815:6;6811:14;6804:49;6687:173;:::o;6866:366::-;7008:3;7029:67;7093:2;7088:3;7029:67;:::i;:::-;7022:74;;7105:93;7194:3;7105:93;:::i;:::-;7223:2;7218:3;7214:12;7207:19;;6866:366;;;:::o;7238:419::-;7404:4;7442:2;7431:9;7427:18;7419:26;;7491:9;7485:4;7481:20;7477:1;7466:9;7462:17;7455:47;7519:131;7645:4;7519:131;:::i;:::-;7511:139;;7238:419;;;:::o;7663:233::-;7702:3;7725:24;7743:5;7725:24;:::i;:::-;7716:33;;7771:66;7764:5;7761:77;7758:103;;7841:18;;:::i;:::-;7758:103;7888:1;7881:5;7877:13;7870:20;;7663:233;;;:::o" + }, + "methodIdentifiers": { + "countLabels(bytes)": "4062ace3", + "extractFirstLabel(bytes)": "94bc2db6", + "extractNumericSuffix(bytes)": "08dea91d", + "isNumber(bytes)": "e5c4cf73" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"countLabels\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"extractFirstLabel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"label\",\"type\":\"bytes\"}],\"name\":\"extractNumericSuffix\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"isNumber\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"ConsenSys Software Inc.\",\"kind\":\"dev\",\"methods\":{\"countLabels(bytes)\":{\"params\":{\"input\":\"the DNS encoded input to count from\"},\"returns\":{\"_0\":\"number labels found\"}},\"extractFirstLabel(bytes)\":{\"params\":{\"name\":\"the dns encoded ENS domain\"},\"returns\":{\"_0\":\"label as bytes\"}},\"extractNumericSuffix(bytes)\":{\"params\":{\"label\":\"the dns encoded label\"},\"returns\":{\"_0\":\"number the numeric suffix\"}},\"isNumber(bytes)\":{\"params\":{\"input\":\"bytes to check\"},\"returns\":{\"_0\":\"true if number, false otherwise\"}}},\"title\":\"Library to perform ENS label manipulation\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"countLabels(bytes)\":{\"notice\":\"Counts the number of labels in the DNS encoded input given\"},\"extractFirstLabel(bytes)\":{\"notice\":\"Extract the first label name from a dns encoded ens domain\"},\"extractNumericSuffix(bytes)\":{\"notice\":\"Extract the numeric suffix from the dns encoded label\"},\"isNumber(bytes)\":{\"notice\":\"Check if the bytes param is a number or not\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/LabelUtils.sol\":\"LabelUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/LabelUtils.sol\":{\"keccak256\":\"0x6eb7a06a5619e65e4e184f6e1971d401d856ff82d8ad997759646229ddbf4582\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ecb649dbb8d22339c9358af1116c8bab85598adf2e7c97fd771bb8c08f89e799\",\"dweb:/ipfs/QmarNdSN4VtMWrwcP6QAZHCQsqZHj8BNNBG3KKQYDYUcuY\"]}},\"version\":1}" + } + }, + "contracts/NFTResolver.sol": { + "NFTResolver": { + "abi": [ + { + "inputs": [ + { + "internalType": "contract IEVMVerifier", + "name": "_verifier", + "type": "address" + }, + { + "internalType": "contract ENS", + "name": "_ens", + "type": "address" + }, + { + "internalType": "contract INameWrapper", + "name": "_nameWrapper", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_l2ChainId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "CommandTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + } + ], + "name": "ResponseLengthMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "StorageHandledByL2", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "name": "TooManyCommands", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "BaseNodeResolverSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "TargetAddrSlotSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "TargetSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "values", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "addrCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "ens", + "outputs": [ + { + "internalType": "contract ENS", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "extractNFTId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getAcceptedL2BlockRangeLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "response", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extradata", + "type": "bytes" + } + ], + "name": "getStorageSlotsCallback", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + } + ], + "name": "getTarget", + "outputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nameWrapper", + "outputs": [ + { + "internalType": "contract INameWrapper", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "resolve", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "resolverAddr", + "type": "address" + } + ], + "name": "setBaseNodeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "setTarget", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "name", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "slot", + "type": "uint256" + } + ], + "name": "setTargetAddrSlot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "verifier", + "outputs": [ + { + "internalType": "contract IEVMVerifier", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_3474": { + "entryPoint": null, + "id": 3474, + "parameterSlots": 4, + "returnSlots": 0 + }, + "abi_decode_t_contract$_ENS_$1030_fromMemory": { + "entryPoint": 715, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory": { + "entryPoint": 653, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_INameWrapper_$2401_fromMemory": { + "entryPoint": 777, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 831, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory": { + "entryPoint": 852, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1121, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1229, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack": { + "entryPoint": 1013, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1156, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1264, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 1048, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 955, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 594, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_ENS_$1030": { + "entryPoint": 674, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEVMVerifier_$798": { + "entryPoint": 612, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_INameWrapper_$2401": { + "entryPoint": 736, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 562, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 798, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": null, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 557, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f": { + "entryPoint": 1080, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60": { + "entryPoint": 1188, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766": { + "entryPoint": 972, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_ENS_$1030": { + "entryPoint": 692, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEVMVerifier_$798": { + "entryPoint": 630, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_INameWrapper_$2401": { + "entryPoint": 754, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 808, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:6381:21", + "nodeType": "YulBlock", + "src": "0:6381:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "379:81:21", + "nodeType": "YulBlock", + "src": "379:81:21", + "statements": [ + { + "nativeSrc": "389:65:21", + "nodeType": "YulAssignment", + "src": "389:65:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "404:5:21", + "nodeType": "YulIdentifier", + "src": "404:5:21" + }, + { + "kind": "number", + "nativeSrc": "411:42:21", + "nodeType": "YulLiteral", + "src": "411:42:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "400:3:21", + "nodeType": "YulIdentifier", + "src": "400:3:21" + }, + "nativeSrc": "400:54:21", + "nodeType": "YulFunctionCall", + "src": "400:54:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "389:7:21", + "nodeType": "YulIdentifier", + "src": "389:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "334:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "361:5:21", + "nodeType": "YulTypedName", + "src": "361:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "371:7:21", + "nodeType": "YulTypedName", + "src": "371:7:21", + "type": "" + } + ], + "src": "334:126:21" + }, + { + "body": { + "nativeSrc": "511:51:21", + "nodeType": "YulBlock", + "src": "511:51:21", + "statements": [ + { + "nativeSrc": "521:35:21", + "nodeType": "YulAssignment", + "src": "521:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "550:5:21", + "nodeType": "YulIdentifier", + "src": "550:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "532:17:21", + "nodeType": "YulIdentifier", + "src": "532:17:21" + }, + "nativeSrc": "532:24:21", + "nodeType": "YulFunctionCall", + "src": "532:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "521:7:21", + "nodeType": "YulIdentifier", + "src": "521:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "466:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "493:5:21", + "nodeType": "YulTypedName", + "src": "493:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "503:7:21", + "nodeType": "YulTypedName", + "src": "503:7:21", + "type": "" + } + ], + "src": "466:96:21" + }, + { + "body": { + "nativeSrc": "633:51:21", + "nodeType": "YulBlock", + "src": "633:51:21", + "statements": [ + { + "nativeSrc": "643:35:21", + "nodeType": "YulAssignment", + "src": "643:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "672:5:21", + "nodeType": "YulIdentifier", + "src": "672:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "654:17:21", + "nodeType": "YulIdentifier", + "src": "654:17:21" + }, + "nativeSrc": "654:24:21", + "nodeType": "YulFunctionCall", + "src": "654:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "643:7:21", + "nodeType": "YulIdentifier", + "src": "643:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "568:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "615:5:21", + "nodeType": "YulTypedName", + "src": "615:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "625:7:21", + "nodeType": "YulTypedName", + "src": "625:7:21", + "type": "" + } + ], + "src": "568:116:21" + }, + { + "body": { + "nativeSrc": "753:99:21", + "nodeType": "YulBlock", + "src": "753:99:21", + "statements": [ + { + "body": { + "nativeSrc": "830:16:21", + "nodeType": "YulBlock", + "src": "830:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "839:1:21", + "nodeType": "YulLiteral", + "src": "839:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "842:1:21", + "nodeType": "YulLiteral", + "src": "842:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "832:6:21", + "nodeType": "YulIdentifier", + "src": "832:6:21" + }, + "nativeSrc": "832:12:21", + "nodeType": "YulFunctionCall", + "src": "832:12:21" + }, + "nativeSrc": "832:12:21", + "nodeType": "YulExpressionStatement", + "src": "832:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "776:5:21", + "nodeType": "YulIdentifier", + "src": "776:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "821:5:21", + "nodeType": "YulIdentifier", + "src": "821:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "783:37:21", + "nodeType": "YulIdentifier", + "src": "783:37:21" + }, + "nativeSrc": "783:44:21", + "nodeType": "YulFunctionCall", + "src": "783:44:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "773:2:21", + "nodeType": "YulIdentifier", + "src": "773:2:21" + }, + "nativeSrc": "773:55:21", + "nodeType": "YulFunctionCall", + "src": "773:55:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "766:6:21", + "nodeType": "YulIdentifier", + "src": "766:6:21" + }, + "nativeSrc": "766:63:21", + "nodeType": "YulFunctionCall", + "src": "766:63:21" + }, + "nativeSrc": "763:83:21", + "nodeType": "YulIf", + "src": "763:83:21" + } + ] + }, + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "690:162:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "746:5:21", + "nodeType": "YulTypedName", + "src": "746:5:21", + "type": "" + } + ], + "src": "690:162:21" + }, + { + "body": { + "nativeSrc": "941:100:21", + "nodeType": "YulBlock", + "src": "941:100:21", + "statements": [ + { + "nativeSrc": "951:22:21", + "nodeType": "YulAssignment", + "src": "951:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "966:6:21", + "nodeType": "YulIdentifier", + "src": "966:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "960:5:21", + "nodeType": "YulIdentifier", + "src": "960:5:21" + }, + "nativeSrc": "960:13:21", + "nodeType": "YulFunctionCall", + "src": "960:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "951:5:21", + "nodeType": "YulIdentifier", + "src": "951:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1029:5:21", + "nodeType": "YulIdentifier", + "src": "1029:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "982:46:21", + "nodeType": "YulIdentifier", + "src": "982:46:21" + }, + "nativeSrc": "982:53:21", + "nodeType": "YulFunctionCall", + "src": "982:53:21" + }, + "nativeSrc": "982:53:21", + "nodeType": "YulExpressionStatement", + "src": "982:53:21" + } + ] + }, + "name": "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory", + "nativeSrc": "858:183:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "919:6:21", + "nodeType": "YulTypedName", + "src": "919:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "927:3:21", + "nodeType": "YulTypedName", + "src": "927:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "935:5:21", + "nodeType": "YulTypedName", + "src": "935:5:21", + "type": "" + } + ], + "src": "858:183:21" + }, + { + "body": { + "nativeSrc": "1104:51:21", + "nodeType": "YulBlock", + "src": "1104:51:21", + "statements": [ + { + "nativeSrc": "1114:35:21", + "nodeType": "YulAssignment", + "src": "1114:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1143:5:21", + "nodeType": "YulIdentifier", + "src": "1143:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1125:17:21", + "nodeType": "YulIdentifier", + "src": "1125:17:21" + }, + "nativeSrc": "1125:24:21", + "nodeType": "YulFunctionCall", + "src": "1125:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1114:7:21", + "nodeType": "YulIdentifier", + "src": "1114:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_ENS_$1030", + "nativeSrc": "1047:108:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1086:5:21", + "nodeType": "YulTypedName", + "src": "1086:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1096:7:21", + "nodeType": "YulTypedName", + "src": "1096:7:21", + "type": "" + } + ], + "src": "1047:108:21" + }, + { + "body": { + "nativeSrc": "1216:91:21", + "nodeType": "YulBlock", + "src": "1216:91:21", + "statements": [ + { + "body": { + "nativeSrc": "1285:16:21", + "nodeType": "YulBlock", + "src": "1285:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1294:1:21", + "nodeType": "YulLiteral", + "src": "1294:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1297:1:21", + "nodeType": "YulLiteral", + "src": "1297:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1287:6:21", + "nodeType": "YulIdentifier", + "src": "1287:6:21" + }, + "nativeSrc": "1287:12:21", + "nodeType": "YulFunctionCall", + "src": "1287:12:21" + }, + "nativeSrc": "1287:12:21", + "nodeType": "YulExpressionStatement", + "src": "1287:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1239:5:21", + "nodeType": "YulIdentifier", + "src": "1239:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1276:5:21", + "nodeType": "YulIdentifier", + "src": "1276:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_ENS_$1030", + "nativeSrc": "1246:29:21", + "nodeType": "YulIdentifier", + "src": "1246:29:21" + }, + "nativeSrc": "1246:36:21", + "nodeType": "YulFunctionCall", + "src": "1246:36:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1236:2:21", + "nodeType": "YulIdentifier", + "src": "1236:2:21" + }, + "nativeSrc": "1236:47:21", + "nodeType": "YulFunctionCall", + "src": "1236:47:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1229:6:21", + "nodeType": "YulIdentifier", + "src": "1229:6:21" + }, + "nativeSrc": "1229:55:21", + "nodeType": "YulFunctionCall", + "src": "1229:55:21" + }, + "nativeSrc": "1226:75:21", + "nodeType": "YulIf", + "src": "1226:75:21" + } + ] + }, + "name": "validator_revert_t_contract$_ENS_$1030", + "nativeSrc": "1161:146:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1209:5:21", + "nodeType": "YulTypedName", + "src": "1209:5:21", + "type": "" + } + ], + "src": "1161:146:21" + }, + { + "body": { + "nativeSrc": "1388:92:21", + "nodeType": "YulBlock", + "src": "1388:92:21", + "statements": [ + { + "nativeSrc": "1398:22:21", + "nodeType": "YulAssignment", + "src": "1398:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1413:6:21", + "nodeType": "YulIdentifier", + "src": "1413:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1407:5:21", + "nodeType": "YulIdentifier", + "src": "1407:5:21" + }, + "nativeSrc": "1407:13:21", + "nodeType": "YulFunctionCall", + "src": "1407:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1398:5:21", + "nodeType": "YulIdentifier", + "src": "1398:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1468:5:21", + "nodeType": "YulIdentifier", + "src": "1468:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_ENS_$1030", + "nativeSrc": "1429:38:21", + "nodeType": "YulIdentifier", + "src": "1429:38:21" + }, + "nativeSrc": "1429:45:21", + "nodeType": "YulFunctionCall", + "src": "1429:45:21" + }, + "nativeSrc": "1429:45:21", + "nodeType": "YulExpressionStatement", + "src": "1429:45:21" + } + ] + }, + "name": "abi_decode_t_contract$_ENS_$1030_fromMemory", + "nativeSrc": "1313:167:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1366:6:21", + "nodeType": "YulTypedName", + "src": "1366:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1374:3:21", + "nodeType": "YulTypedName", + "src": "1374:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1382:5:21", + "nodeType": "YulTypedName", + "src": "1382:5:21", + "type": "" + } + ], + "src": "1313:167:21" + }, + { + "body": { + "nativeSrc": "1552:51:21", + "nodeType": "YulBlock", + "src": "1552:51:21", + "statements": [ + { + "nativeSrc": "1562:35:21", + "nodeType": "YulAssignment", + "src": "1562:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1591:5:21", + "nodeType": "YulIdentifier", + "src": "1591:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "1573:17:21", + "nodeType": "YulIdentifier", + "src": "1573:17:21" + }, + "nativeSrc": "1573:24:21", + "nodeType": "YulFunctionCall", + "src": "1573:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1562:7:21", + "nodeType": "YulIdentifier", + "src": "1562:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_INameWrapper_$2401", + "nativeSrc": "1486:117:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1534:5:21", + "nodeType": "YulTypedName", + "src": "1534:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1544:7:21", + "nodeType": "YulTypedName", + "src": "1544:7:21", + "type": "" + } + ], + "src": "1486:117:21" + }, + { + "body": { + "nativeSrc": "1673:100:21", + "nodeType": "YulBlock", + "src": "1673:100:21", + "statements": [ + { + "body": { + "nativeSrc": "1751:16:21", + "nodeType": "YulBlock", + "src": "1751:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1760:1:21", + "nodeType": "YulLiteral", + "src": "1760:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1763:1:21", + "nodeType": "YulLiteral", + "src": "1763:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1753:6:21", + "nodeType": "YulIdentifier", + "src": "1753:6:21" + }, + "nativeSrc": "1753:12:21", + "nodeType": "YulFunctionCall", + "src": "1753:12:21" + }, + "nativeSrc": "1753:12:21", + "nodeType": "YulExpressionStatement", + "src": "1753:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1696:5:21", + "nodeType": "YulIdentifier", + "src": "1696:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1742:5:21", + "nodeType": "YulIdentifier", + "src": "1742:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_INameWrapper_$2401", + "nativeSrc": "1703:38:21", + "nodeType": "YulIdentifier", + "src": "1703:38:21" + }, + "nativeSrc": "1703:45:21", + "nodeType": "YulFunctionCall", + "src": "1703:45:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1693:2:21", + "nodeType": "YulIdentifier", + "src": "1693:2:21" + }, + "nativeSrc": "1693:56:21", + "nodeType": "YulFunctionCall", + "src": "1693:56:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1686:6:21", + "nodeType": "YulIdentifier", + "src": "1686:6:21" + }, + "nativeSrc": "1686:64:21", + "nodeType": "YulFunctionCall", + "src": "1686:64:21" + }, + "nativeSrc": "1683:84:21", + "nodeType": "YulIf", + "src": "1683:84:21" + } + ] + }, + "name": "validator_revert_t_contract$_INameWrapper_$2401", + "nativeSrc": "1609:164:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1666:5:21", + "nodeType": "YulTypedName", + "src": "1666:5:21", + "type": "" + } + ], + "src": "1609:164:21" + }, + { + "body": { + "nativeSrc": "1863:101:21", + "nodeType": "YulBlock", + "src": "1863:101:21", + "statements": [ + { + "nativeSrc": "1873:22:21", + "nodeType": "YulAssignment", + "src": "1873:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1888:6:21", + "nodeType": "YulIdentifier", + "src": "1888:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1882:5:21", + "nodeType": "YulIdentifier", + "src": "1882:5:21" + }, + "nativeSrc": "1882:13:21", + "nodeType": "YulFunctionCall", + "src": "1882:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "1873:5:21", + "nodeType": "YulIdentifier", + "src": "1873:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1952:5:21", + "nodeType": "YulIdentifier", + "src": "1952:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_INameWrapper_$2401", + "nativeSrc": "1904:47:21", + "nodeType": "YulIdentifier", + "src": "1904:47:21" + }, + "nativeSrc": "1904:54:21", + "nodeType": "YulFunctionCall", + "src": "1904:54:21" + }, + "nativeSrc": "1904:54:21", + "nodeType": "YulExpressionStatement", + "src": "1904:54:21" + } + ] + }, + "name": "abi_decode_t_contract$_INameWrapper_$2401_fromMemory", + "nativeSrc": "1779:185:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1841:6:21", + "nodeType": "YulTypedName", + "src": "1841:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1849:3:21", + "nodeType": "YulTypedName", + "src": "1849:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "1857:5:21", + "nodeType": "YulTypedName", + "src": "1857:5:21", + "type": "" + } + ], + "src": "1779:185:21" + }, + { + "body": { + "nativeSrc": "2015:32:21", + "nodeType": "YulBlock", + "src": "2015:32:21", + "statements": [ + { + "nativeSrc": "2025:16:21", + "nodeType": "YulAssignment", + "src": "2025:16:21", + "value": { + "name": "value", + "nativeSrc": "2036:5:21", + "nodeType": "YulIdentifier", + "src": "2036:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "2025:7:21", + "nodeType": "YulIdentifier", + "src": "2025:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "1970:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1997:5:21", + "nodeType": "YulTypedName", + "src": "1997:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "2007:7:21", + "nodeType": "YulTypedName", + "src": "2007:7:21", + "type": "" + } + ], + "src": "1970:77:21" + }, + { + "body": { + "nativeSrc": "2096:79:21", + "nodeType": "YulBlock", + "src": "2096:79:21", + "statements": [ + { + "body": { + "nativeSrc": "2153:16:21", + "nodeType": "YulBlock", + "src": "2153:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2162:1:21", + "nodeType": "YulLiteral", + "src": "2162:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2165:1:21", + "nodeType": "YulLiteral", + "src": "2165:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2155:6:21", + "nodeType": "YulIdentifier", + "src": "2155:6:21" + }, + "nativeSrc": "2155:12:21", + "nodeType": "YulFunctionCall", + "src": "2155:12:21" + }, + "nativeSrc": "2155:12:21", + "nodeType": "YulExpressionStatement", + "src": "2155:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2119:5:21", + "nodeType": "YulIdentifier", + "src": "2119:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2144:5:21", + "nodeType": "YulIdentifier", + "src": "2144:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "2126:17:21", + "nodeType": "YulIdentifier", + "src": "2126:17:21" + }, + "nativeSrc": "2126:24:21", + "nodeType": "YulFunctionCall", + "src": "2126:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2116:2:21", + "nodeType": "YulIdentifier", + "src": "2116:2:21" + }, + "nativeSrc": "2116:35:21", + "nodeType": "YulFunctionCall", + "src": "2116:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2109:6:21", + "nodeType": "YulIdentifier", + "src": "2109:6:21" + }, + "nativeSrc": "2109:43:21", + "nodeType": "YulFunctionCall", + "src": "2109:43:21" + }, + "nativeSrc": "2106:63:21", + "nodeType": "YulIf", + "src": "2106:63:21" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "2053:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2089:5:21", + "nodeType": "YulTypedName", + "src": "2089:5:21", + "type": "" + } + ], + "src": "2053:122:21" + }, + { + "body": { + "nativeSrc": "2244:80:21", + "nodeType": "YulBlock", + "src": "2244:80:21", + "statements": [ + { + "nativeSrc": "2254:22:21", + "nodeType": "YulAssignment", + "src": "2254:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2269:6:21", + "nodeType": "YulIdentifier", + "src": "2269:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2263:5:21", + "nodeType": "YulIdentifier", + "src": "2263:5:21" + }, + "nativeSrc": "2263:13:21", + "nodeType": "YulFunctionCall", + "src": "2263:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2254:5:21", + "nodeType": "YulIdentifier", + "src": "2254:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2312:5:21", + "nodeType": "YulIdentifier", + "src": "2312:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "2285:26:21", + "nodeType": "YulIdentifier", + "src": "2285:26:21" + }, + "nativeSrc": "2285:33:21", + "nodeType": "YulFunctionCall", + "src": "2285:33:21" + }, + "nativeSrc": "2285:33:21", + "nodeType": "YulExpressionStatement", + "src": "2285:33:21" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "2181:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2222:6:21", + "nodeType": "YulTypedName", + "src": "2222:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "2230:3:21", + "nodeType": "YulTypedName", + "src": "2230:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2238:5:21", + "nodeType": "YulTypedName", + "src": "2238:5:21", + "type": "" + } + ], + "src": "2181:143:21" + }, + { + "body": { + "nativeSrc": "2511:745:21", + "nodeType": "YulBlock", + "src": "2511:745:21", + "statements": [ + { + "body": { + "nativeSrc": "2558:83:21", + "nodeType": "YulBlock", + "src": "2558:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "2560:77:21", + "nodeType": "YulIdentifier", + "src": "2560:77:21" + }, + "nativeSrc": "2560:79:21", + "nodeType": "YulFunctionCall", + "src": "2560:79:21" + }, + "nativeSrc": "2560:79:21", + "nodeType": "YulExpressionStatement", + "src": "2560:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2532:7:21", + "nodeType": "YulIdentifier", + "src": "2532:7:21" + }, + { + "name": "headStart", + "nativeSrc": "2541:9:21", + "nodeType": "YulIdentifier", + "src": "2541:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2528:3:21", + "nodeType": "YulIdentifier", + "src": "2528:3:21" + }, + "nativeSrc": "2528:23:21", + "nodeType": "YulFunctionCall", + "src": "2528:23:21" + }, + { + "kind": "number", + "nativeSrc": "2553:3:21", + "nodeType": "YulLiteral", + "src": "2553:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2524:3:21", + "nodeType": "YulIdentifier", + "src": "2524:3:21" + }, + "nativeSrc": "2524:33:21", + "nodeType": "YulFunctionCall", + "src": "2524:33:21" + }, + "nativeSrc": "2521:120:21", + "nodeType": "YulIf", + "src": "2521:120:21" + }, + { + "nativeSrc": "2651:148:21", + "nodeType": "YulBlock", + "src": "2651:148:21", + "statements": [ + { + "nativeSrc": "2666:15:21", + "nodeType": "YulVariableDeclaration", + "src": "2666:15:21", + "value": { + "kind": "number", + "nativeSrc": "2680:1:21", + "nodeType": "YulLiteral", + "src": "2680:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2670:6:21", + "nodeType": "YulTypedName", + "src": "2670:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2695:94:21", + "nodeType": "YulAssignment", + "src": "2695:94:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2761:9:21", + "nodeType": "YulIdentifier", + "src": "2761:9:21" + }, + { + "name": "offset", + "nativeSrc": "2772:6:21", + "nodeType": "YulIdentifier", + "src": "2772:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2757:3:21", + "nodeType": "YulIdentifier", + "src": "2757:3:21" + }, + "nativeSrc": "2757:22:21", + "nodeType": "YulFunctionCall", + "src": "2757:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "2781:7:21", + "nodeType": "YulIdentifier", + "src": "2781:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEVMVerifier_$798_fromMemory", + "nativeSrc": "2705:51:21", + "nodeType": "YulIdentifier", + "src": "2705:51:21" + }, + "nativeSrc": "2705:84:21", + "nodeType": "YulFunctionCall", + "src": "2705:84:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2695:6:21", + "nodeType": "YulIdentifier", + "src": "2695:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "2809:141:21", + "nodeType": "YulBlock", + "src": "2809:141:21", + "statements": [ + { + "nativeSrc": "2824:16:21", + "nodeType": "YulVariableDeclaration", + "src": "2824:16:21", + "value": { + "kind": "number", + "nativeSrc": "2838:2:21", + "nodeType": "YulLiteral", + "src": "2838:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2828:6:21", + "nodeType": "YulTypedName", + "src": "2828:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "2854:86:21", + "nodeType": "YulAssignment", + "src": "2854:86:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2912:9:21", + "nodeType": "YulIdentifier", + "src": "2912:9:21" + }, + { + "name": "offset", + "nativeSrc": "2923:6:21", + "nodeType": "YulIdentifier", + "src": "2923:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2908:3:21", + "nodeType": "YulIdentifier", + "src": "2908:3:21" + }, + "nativeSrc": "2908:22:21", + "nodeType": "YulFunctionCall", + "src": "2908:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "2932:7:21", + "nodeType": "YulIdentifier", + "src": "2932:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_ENS_$1030_fromMemory", + "nativeSrc": "2864:43:21", + "nodeType": "YulIdentifier", + "src": "2864:43:21" + }, + "nativeSrc": "2864:76:21", + "nodeType": "YulFunctionCall", + "src": "2864:76:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "2854:6:21", + "nodeType": "YulIdentifier", + "src": "2854:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "2960:150:21", + "nodeType": "YulBlock", + "src": "2960:150:21", + "statements": [ + { + "nativeSrc": "2975:16:21", + "nodeType": "YulVariableDeclaration", + "src": "2975:16:21", + "value": { + "kind": "number", + "nativeSrc": "2989:2:21", + "nodeType": "YulLiteral", + "src": "2989:2:21", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2979:6:21", + "nodeType": "YulTypedName", + "src": "2979:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3005:95:21", + "nodeType": "YulAssignment", + "src": "3005:95:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3072:9:21", + "nodeType": "YulIdentifier", + "src": "3072:9:21" + }, + { + "name": "offset", + "nativeSrc": "3083:6:21", + "nodeType": "YulIdentifier", + "src": "3083:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3068:3:21", + "nodeType": "YulIdentifier", + "src": "3068:3:21" + }, + "nativeSrc": "3068:22:21", + "nodeType": "YulFunctionCall", + "src": "3068:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3092:7:21", + "nodeType": "YulIdentifier", + "src": "3092:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_INameWrapper_$2401_fromMemory", + "nativeSrc": "3015:52:21", + "nodeType": "YulIdentifier", + "src": "3015:52:21" + }, + "nativeSrc": "3015:85:21", + "nodeType": "YulFunctionCall", + "src": "3015:85:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "3005:6:21", + "nodeType": "YulIdentifier", + "src": "3005:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "3120:129:21", + "nodeType": "YulBlock", + "src": "3120:129:21", + "statements": [ + { + "nativeSrc": "3135:16:21", + "nodeType": "YulVariableDeclaration", + "src": "3135:16:21", + "value": { + "kind": "number", + "nativeSrc": "3149:2:21", + "nodeType": "YulLiteral", + "src": "3149:2:21", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3139:6:21", + "nodeType": "YulTypedName", + "src": "3139:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3165:74:21", + "nodeType": "YulAssignment", + "src": "3165:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3211:9:21", + "nodeType": "YulIdentifier", + "src": "3211:9:21" + }, + { + "name": "offset", + "nativeSrc": "3222:6:21", + "nodeType": "YulIdentifier", + "src": "3222:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3207:3:21", + "nodeType": "YulIdentifier", + "src": "3207:3:21" + }, + "nativeSrc": "3207:22:21", + "nodeType": "YulFunctionCall", + "src": "3207:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "3231:7:21", + "nodeType": "YulIdentifier", + "src": "3231:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "3175:31:21", + "nodeType": "YulIdentifier", + "src": "3175:31:21" + }, + "nativeSrc": "3175:64:21", + "nodeType": "YulFunctionCall", + "src": "3175:64:21" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "3165:6:21", + "nodeType": "YulIdentifier", + "src": "3165:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory", + "nativeSrc": "2330:926:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2457:9:21", + "nodeType": "YulTypedName", + "src": "2457:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2468:7:21", + "nodeType": "YulTypedName", + "src": "2468:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2480:6:21", + "nodeType": "YulTypedName", + "src": "2480:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2488:6:21", + "nodeType": "YulTypedName", + "src": "2488:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "2496:6:21", + "nodeType": "YulTypedName", + "src": "2496:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "2504:6:21", + "nodeType": "YulTypedName", + "src": "2504:6:21", + "type": "" + } + ], + "src": "2330:926:21" + }, + { + "body": { + "nativeSrc": "3358:73:21", + "nodeType": "YulBlock", + "src": "3358:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3375:3:21", + "nodeType": "YulIdentifier", + "src": "3375:3:21" + }, + { + "name": "length", + "nativeSrc": "3380:6:21", + "nodeType": "YulIdentifier", + "src": "3380:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3368:6:21", + "nodeType": "YulIdentifier", + "src": "3368:6:21" + }, + "nativeSrc": "3368:19:21", + "nodeType": "YulFunctionCall", + "src": "3368:19:21" + }, + "nativeSrc": "3368:19:21", + "nodeType": "YulExpressionStatement", + "src": "3368:19:21" + }, + { + "nativeSrc": "3396:29:21", + "nodeType": "YulAssignment", + "src": "3396:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3415:3:21", + "nodeType": "YulIdentifier", + "src": "3415:3:21" + }, + { + "kind": "number", + "nativeSrc": "3420:4:21", + "nodeType": "YulLiteral", + "src": "3420:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3411:3:21", + "nodeType": "YulIdentifier", + "src": "3411:3:21" + }, + "nativeSrc": "3411:14:21", + "nodeType": "YulFunctionCall", + "src": "3411:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "3396:11:21", + "nodeType": "YulIdentifier", + "src": "3396:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "3262:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3330:3:21", + "nodeType": "YulTypedName", + "src": "3330:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3335:6:21", + "nodeType": "YulTypedName", + "src": "3335:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "3346:11:21", + "nodeType": "YulTypedName", + "src": "3346:11:21", + "type": "" + } + ], + "src": "3262:169:21" + }, + { + "body": { + "nativeSrc": "3543:76:21", + "nodeType": "YulBlock", + "src": "3543:76:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "3565:6:21", + "nodeType": "YulIdentifier", + "src": "3565:6:21" + }, + { + "kind": "number", + "nativeSrc": "3573:1:21", + "nodeType": "YulLiteral", + "src": "3573:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3561:3:21", + "nodeType": "YulIdentifier", + "src": "3561:3:21" + }, + "nativeSrc": "3561:14:21", + "nodeType": "YulFunctionCall", + "src": "3561:14:21" + }, + { + "hexValue": "4e616d6520577261707065722061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "3577:34:21", + "nodeType": "YulLiteral", + "src": "3577:34:21", + "type": "", + "value": "Name Wrapper address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3554:6:21", + "nodeType": "YulIdentifier", + "src": "3554:6:21" + }, + "nativeSrc": "3554:58:21", + "nodeType": "YulFunctionCall", + "src": "3554:58:21" + }, + "nativeSrc": "3554:58:21", + "nodeType": "YulExpressionStatement", + "src": "3554:58:21" + } + ] + }, + "name": "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "nativeSrc": "3437:182:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "3535:6:21", + "nodeType": "YulTypedName", + "src": "3535:6:21", + "type": "" + } + ], + "src": "3437:182:21" + }, + { + "body": { + "nativeSrc": "3771:220:21", + "nodeType": "YulBlock", + "src": "3771:220:21", + "statements": [ + { + "nativeSrc": "3781:74:21", + "nodeType": "YulAssignment", + "src": "3781:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3847:3:21", + "nodeType": "YulIdentifier", + "src": "3847:3:21" + }, + { + "kind": "number", + "nativeSrc": "3852:2:21", + "nodeType": "YulLiteral", + "src": "3852:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "3788:58:21", + "nodeType": "YulIdentifier", + "src": "3788:58:21" + }, + "nativeSrc": "3788:67:21", + "nodeType": "YulFunctionCall", + "src": "3788:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "3781:3:21", + "nodeType": "YulIdentifier", + "src": "3781:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3953:3:21", + "nodeType": "YulIdentifier", + "src": "3953:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766", + "nativeSrc": "3864:88:21", + "nodeType": "YulIdentifier", + "src": "3864:88:21" + }, + "nativeSrc": "3864:93:21", + "nodeType": "YulFunctionCall", + "src": "3864:93:21" + }, + "nativeSrc": "3864:93:21", + "nodeType": "YulExpressionStatement", + "src": "3864:93:21" + }, + { + "nativeSrc": "3966:19:21", + "nodeType": "YulAssignment", + "src": "3966:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "3977:3:21", + "nodeType": "YulIdentifier", + "src": "3977:3:21" + }, + { + "kind": "number", + "nativeSrc": "3982:2:21", + "nodeType": "YulLiteral", + "src": "3982:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3973:3:21", + "nodeType": "YulIdentifier", + "src": "3973:3:21" + }, + "nativeSrc": "3973:12:21", + "nodeType": "YulFunctionCall", + "src": "3973:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "3966:3:21", + "nodeType": "YulIdentifier", + "src": "3966:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack", + "nativeSrc": "3625:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "3759:3:21", + "nodeType": "YulTypedName", + "src": "3759:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "3767:3:21", + "nodeType": "YulTypedName", + "src": "3767:3:21", + "type": "" + } + ], + "src": "3625:366:21" + }, + { + "body": { + "nativeSrc": "4168:248:21", + "nodeType": "YulBlock", + "src": "4168:248:21", + "statements": [ + { + "nativeSrc": "4178:26:21", + "nodeType": "YulAssignment", + "src": "4178:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4190:9:21", + "nodeType": "YulIdentifier", + "src": "4190:9:21" + }, + { + "kind": "number", + "nativeSrc": "4201:2:21", + "nodeType": "YulLiteral", + "src": "4201:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4186:3:21", + "nodeType": "YulIdentifier", + "src": "4186:3:21" + }, + "nativeSrc": "4186:18:21", + "nodeType": "YulFunctionCall", + "src": "4186:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4178:4:21", + "nodeType": "YulIdentifier", + "src": "4178:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4225:9:21", + "nodeType": "YulIdentifier", + "src": "4225:9:21" + }, + { + "kind": "number", + "nativeSrc": "4236:1:21", + "nodeType": "YulLiteral", + "src": "4236:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4221:3:21", + "nodeType": "YulIdentifier", + "src": "4221:3:21" + }, + "nativeSrc": "4221:17:21", + "nodeType": "YulFunctionCall", + "src": "4221:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4244:4:21", + "nodeType": "YulIdentifier", + "src": "4244:4:21" + }, + { + "name": "headStart", + "nativeSrc": "4250:9:21", + "nodeType": "YulIdentifier", + "src": "4250:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4240:3:21", + "nodeType": "YulIdentifier", + "src": "4240:3:21" + }, + "nativeSrc": "4240:20:21", + "nodeType": "YulFunctionCall", + "src": "4240:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4214:6:21", + "nodeType": "YulIdentifier", + "src": "4214:6:21" + }, + "nativeSrc": "4214:47:21", + "nodeType": "YulFunctionCall", + "src": "4214:47:21" + }, + "nativeSrc": "4214:47:21", + "nodeType": "YulExpressionStatement", + "src": "4214:47:21" + }, + { + "nativeSrc": "4270:139:21", + "nodeType": "YulAssignment", + "src": "4270:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "4404:4:21", + "nodeType": "YulIdentifier", + "src": "4404:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack", + "nativeSrc": "4278:124:21", + "nodeType": "YulIdentifier", + "src": "4278:124:21" + }, + "nativeSrc": "4278:131:21", + "nodeType": "YulFunctionCall", + "src": "4278:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4270:4:21", + "nodeType": "YulIdentifier", + "src": "4270:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "3997:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4148:9:21", + "nodeType": "YulTypedName", + "src": "4148:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4163:4:21", + "nodeType": "YulTypedName", + "src": "4163:4:21", + "type": "" + } + ], + "src": "3997:419:21" + }, + { + "body": { + "nativeSrc": "4528:72:21", + "nodeType": "YulBlock", + "src": "4528:72:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "4550:6:21", + "nodeType": "YulIdentifier", + "src": "4550:6:21" + }, + { + "kind": "number", + "nativeSrc": "4558:1:21", + "nodeType": "YulLiteral", + "src": "4558:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4546:3:21", + "nodeType": "YulIdentifier", + "src": "4546:3:21" + }, + "nativeSrc": "4546:14:21", + "nodeType": "YulFunctionCall", + "src": "4546:14:21" + }, + { + "hexValue": "56657269666965722061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "4562:30:21", + "nodeType": "YulLiteral", + "src": "4562:30:21", + "type": "", + "value": "Verifier address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4539:6:21", + "nodeType": "YulIdentifier", + "src": "4539:6:21" + }, + "nativeSrc": "4539:54:21", + "nodeType": "YulFunctionCall", + "src": "4539:54:21" + }, + "nativeSrc": "4539:54:21", + "nodeType": "YulExpressionStatement", + "src": "4539:54:21" + } + ] + }, + "name": "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "nativeSrc": "4422:178:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "4520:6:21", + "nodeType": "YulTypedName", + "src": "4520:6:21", + "type": "" + } + ], + "src": "4422:178:21" + }, + { + "body": { + "nativeSrc": "4752:220:21", + "nodeType": "YulBlock", + "src": "4752:220:21", + "statements": [ + { + "nativeSrc": "4762:74:21", + "nodeType": "YulAssignment", + "src": "4762:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4828:3:21", + "nodeType": "YulIdentifier", + "src": "4828:3:21" + }, + { + "kind": "number", + "nativeSrc": "4833:2:21", + "nodeType": "YulLiteral", + "src": "4833:2:21", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "4769:58:21", + "nodeType": "YulIdentifier", + "src": "4769:58:21" + }, + "nativeSrc": "4769:67:21", + "nodeType": "YulFunctionCall", + "src": "4769:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "4762:3:21", + "nodeType": "YulIdentifier", + "src": "4762:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4934:3:21", + "nodeType": "YulIdentifier", + "src": "4934:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f", + "nativeSrc": "4845:88:21", + "nodeType": "YulIdentifier", + "src": "4845:88:21" + }, + "nativeSrc": "4845:93:21", + "nodeType": "YulFunctionCall", + "src": "4845:93:21" + }, + "nativeSrc": "4845:93:21", + "nodeType": "YulExpressionStatement", + "src": "4845:93:21" + }, + { + "nativeSrc": "4947:19:21", + "nodeType": "YulAssignment", + "src": "4947:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4958:3:21", + "nodeType": "YulIdentifier", + "src": "4958:3:21" + }, + { + "kind": "number", + "nativeSrc": "4963:2:21", + "nodeType": "YulLiteral", + "src": "4963:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4954:3:21", + "nodeType": "YulIdentifier", + "src": "4954:3:21" + }, + "nativeSrc": "4954:12:21", + "nodeType": "YulFunctionCall", + "src": "4954:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "4947:3:21", + "nodeType": "YulIdentifier", + "src": "4947:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "4606:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "4740:3:21", + "nodeType": "YulTypedName", + "src": "4740:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "4748:3:21", + "nodeType": "YulTypedName", + "src": "4748:3:21", + "type": "" + } + ], + "src": "4606:366:21" + }, + { + "body": { + "nativeSrc": "5149:248:21", + "nodeType": "YulBlock", + "src": "5149:248:21", + "statements": [ + { + "nativeSrc": "5159:26:21", + "nodeType": "YulAssignment", + "src": "5159:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5171:9:21", + "nodeType": "YulIdentifier", + "src": "5171:9:21" + }, + { + "kind": "number", + "nativeSrc": "5182:2:21", + "nodeType": "YulLiteral", + "src": "5182:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5167:3:21", + "nodeType": "YulIdentifier", + "src": "5167:3:21" + }, + "nativeSrc": "5167:18:21", + "nodeType": "YulFunctionCall", + "src": "5167:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5159:4:21", + "nodeType": "YulIdentifier", + "src": "5159:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5206:9:21", + "nodeType": "YulIdentifier", + "src": "5206:9:21" + }, + { + "kind": "number", + "nativeSrc": "5217:1:21", + "nodeType": "YulLiteral", + "src": "5217:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5202:3:21", + "nodeType": "YulIdentifier", + "src": "5202:3:21" + }, + "nativeSrc": "5202:17:21", + "nodeType": "YulFunctionCall", + "src": "5202:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5225:4:21", + "nodeType": "YulIdentifier", + "src": "5225:4:21" + }, + { + "name": "headStart", + "nativeSrc": "5231:9:21", + "nodeType": "YulIdentifier", + "src": "5231:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5221:3:21", + "nodeType": "YulIdentifier", + "src": "5221:3:21" + }, + "nativeSrc": "5221:20:21", + "nodeType": "YulFunctionCall", + "src": "5221:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5195:6:21", + "nodeType": "YulIdentifier", + "src": "5195:6:21" + }, + "nativeSrc": "5195:47:21", + "nodeType": "YulFunctionCall", + "src": "5195:47:21" + }, + "nativeSrc": "5195:47:21", + "nodeType": "YulExpressionStatement", + "src": "5195:47:21" + }, + { + "nativeSrc": "5251:139:21", + "nodeType": "YulAssignment", + "src": "5251:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "5385:4:21", + "nodeType": "YulIdentifier", + "src": "5385:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5259:124:21", + "nodeType": "YulIdentifier", + "src": "5259:124:21" + }, + "nativeSrc": "5259:131:21", + "nodeType": "YulFunctionCall", + "src": "5259:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5251:4:21", + "nodeType": "YulIdentifier", + "src": "5251:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "4978:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5129:9:21", + "nodeType": "YulTypedName", + "src": "5129:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5144:4:21", + "nodeType": "YulTypedName", + "src": "5144:4:21", + "type": "" + } + ], + "src": "4978:419:21" + }, + { + "body": { + "nativeSrc": "5509:72:21", + "nodeType": "YulBlock", + "src": "5509:72:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "5531:6:21", + "nodeType": "YulIdentifier", + "src": "5531:6:21" + }, + { + "kind": "number", + "nativeSrc": "5539:1:21", + "nodeType": "YulLiteral", + "src": "5539:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5527:3:21", + "nodeType": "YulIdentifier", + "src": "5527:3:21" + }, + "nativeSrc": "5527:14:21", + "nodeType": "YulFunctionCall", + "src": "5527:14:21" + }, + { + "hexValue": "52656769737472792061646472657373206d75737420626520736574", + "kind": "string", + "nativeSrc": "5543:30:21", + "nodeType": "YulLiteral", + "src": "5543:30:21", + "type": "", + "value": "Registry address must be set" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5520:6:21", + "nodeType": "YulIdentifier", + "src": "5520:6:21" + }, + "nativeSrc": "5520:54:21", + "nodeType": "YulFunctionCall", + "src": "5520:54:21" + }, + "nativeSrc": "5520:54:21", + "nodeType": "YulExpressionStatement", + "src": "5520:54:21" + } + ] + }, + "name": "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "nativeSrc": "5403:178:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "5501:6:21", + "nodeType": "YulTypedName", + "src": "5501:6:21", + "type": "" + } + ], + "src": "5403:178:21" + }, + { + "body": { + "nativeSrc": "5733:220:21", + "nodeType": "YulBlock", + "src": "5733:220:21", + "statements": [ + { + "nativeSrc": "5743:74:21", + "nodeType": "YulAssignment", + "src": "5743:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5809:3:21", + "nodeType": "YulIdentifier", + "src": "5809:3:21" + }, + { + "kind": "number", + "nativeSrc": "5814:2:21", + "nodeType": "YulLiteral", + "src": "5814:2:21", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "5750:58:21", + "nodeType": "YulIdentifier", + "src": "5750:58:21" + }, + "nativeSrc": "5750:67:21", + "nodeType": "YulFunctionCall", + "src": "5750:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "5743:3:21", + "nodeType": "YulIdentifier", + "src": "5743:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5915:3:21", + "nodeType": "YulIdentifier", + "src": "5915:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60", + "nativeSrc": "5826:88:21", + "nodeType": "YulIdentifier", + "src": "5826:88:21" + }, + "nativeSrc": "5826:93:21", + "nodeType": "YulFunctionCall", + "src": "5826:93:21" + }, + "nativeSrc": "5826:93:21", + "nodeType": "YulExpressionStatement", + "src": "5826:93:21" + }, + { + "nativeSrc": "5928:19:21", + "nodeType": "YulAssignment", + "src": "5928:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "5939:3:21", + "nodeType": "YulIdentifier", + "src": "5939:3:21" + }, + { + "kind": "number", + "nativeSrc": "5944:2:21", + "nodeType": "YulLiteral", + "src": "5944:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5935:3:21", + "nodeType": "YulIdentifier", + "src": "5935:3:21" + }, + "nativeSrc": "5935:12:21", + "nodeType": "YulFunctionCall", + "src": "5935:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "5928:3:21", + "nodeType": "YulIdentifier", + "src": "5928:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack", + "nativeSrc": "5587:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "5721:3:21", + "nodeType": "YulTypedName", + "src": "5721:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "5729:3:21", + "nodeType": "YulTypedName", + "src": "5729:3:21", + "type": "" + } + ], + "src": "5587:366:21" + }, + { + "body": { + "nativeSrc": "6130:248:21", + "nodeType": "YulBlock", + "src": "6130:248:21", + "statements": [ + { + "nativeSrc": "6140:26:21", + "nodeType": "YulAssignment", + "src": "6140:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6152:9:21", + "nodeType": "YulIdentifier", + "src": "6152:9:21" + }, + { + "kind": "number", + "nativeSrc": "6163:2:21", + "nodeType": "YulLiteral", + "src": "6163:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6148:3:21", + "nodeType": "YulIdentifier", + "src": "6148:3:21" + }, + "nativeSrc": "6148:18:21", + "nodeType": "YulFunctionCall", + "src": "6148:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6140:4:21", + "nodeType": "YulIdentifier", + "src": "6140:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6187:9:21", + "nodeType": "YulIdentifier", + "src": "6187:9:21" + }, + { + "kind": "number", + "nativeSrc": "6198:1:21", + "nodeType": "YulLiteral", + "src": "6198:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6183:3:21", + "nodeType": "YulIdentifier", + "src": "6183:3:21" + }, + "nativeSrc": "6183:17:21", + "nodeType": "YulFunctionCall", + "src": "6183:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6206:4:21", + "nodeType": "YulIdentifier", + "src": "6206:4:21" + }, + { + "name": "headStart", + "nativeSrc": "6212:9:21", + "nodeType": "YulIdentifier", + "src": "6212:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6202:3:21", + "nodeType": "YulIdentifier", + "src": "6202:3:21" + }, + "nativeSrc": "6202:20:21", + "nodeType": "YulFunctionCall", + "src": "6202:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6176:6:21", + "nodeType": "YulIdentifier", + "src": "6176:6:21" + }, + "nativeSrc": "6176:47:21", + "nodeType": "YulFunctionCall", + "src": "6176:47:21" + }, + "nativeSrc": "6176:47:21", + "nodeType": "YulExpressionStatement", + "src": "6176:47:21" + }, + { + "nativeSrc": "6232:139:21", + "nodeType": "YulAssignment", + "src": "6232:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "6366:4:21", + "nodeType": "YulIdentifier", + "src": "6366:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack", + "nativeSrc": "6240:124:21", + "nodeType": "YulIdentifier", + "src": "6240:124:21" + }, + "nativeSrc": "6240:131:21", + "nodeType": "YulFunctionCall", + "src": "6240:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6232:4:21", + "nodeType": "YulIdentifier", + "src": "6232:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "5959:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6110:9:21", + "nodeType": "YulTypedName", + "src": "6110:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6125:4:21", + "nodeType": "YulTypedName", + "src": "6125:4:21", + "type": "" + } + ], + "src": "5959:419:21" + } + ] + }, + "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 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 cleanup_t_contract$_IEVMVerifier_$798(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEVMVerifier_$798(value) {\n if iszero(eq(value, cleanup_t_contract$_IEVMVerifier_$798(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEVMVerifier_$798_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_IEVMVerifier_$798(value)\n }\n\n function cleanup_t_contract$_ENS_$1030(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_ENS_$1030(value) {\n if iszero(eq(value, cleanup_t_contract$_ENS_$1030(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_ENS_$1030_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_ENS_$1030(value)\n }\n\n function cleanup_t_contract$_INameWrapper_$2401(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_INameWrapper_$2401(value) {\n if iszero(eq(value, cleanup_t_contract$_INameWrapper_$2401(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_INameWrapper_$2401_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_INameWrapper_$2401(value)\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_contract$_IEVMVerifier_$798t_contract$_ENS_$1030t_contract$_INameWrapper_$2401t_uint256_fromMemory(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_contract$_IEVMVerifier_$798_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_contract$_ENS_$1030_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_contract$_INameWrapper_$2401_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766(memPtr) {\n\n mstore(add(memPtr, 0), \"Name Wrapper address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_985ae11de4d0fd8707a7648d3db0227064e8e605800abf907ea6ec9bbd2e1766_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f(memPtr) {\n\n mstore(add(memPtr, 0), \"Verifier address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_257505de972b238e6dc12aaabd98ebbd0002fbdfb73d1cf961080c6d56fffd9f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60(memPtr) {\n\n mstore(add(memPtr, 0), \"Registry address must be set\")\n\n }\n\n function abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7764a128591ab68cda4ae05e7d403f3bfab455070c4177693c2b22b2f7ddbc60_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": { + "contracts/LabelUtils.sol": { + "LabelUtils": [ + { + "length": 20, + "start": 2567 + }, + { + "length": 20, + "start": 2696 + }, + { + "length": 20, + "start": 2879 + }, + { + "length": 20, + "start": 3896 + } + ] + } + }, + "object": "61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x4036 CODESIZE SUB DUP1 PUSH2 0x4036 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x33 SWAP2 SWAP1 PUSH2 0x354 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x99 SWAP1 PUSH2 0x418 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x111 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x108 SWAP1 PUSH2 0x484 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x180 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x177 SWAP1 PUSH2 0x4F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xC0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 PUSH1 0xE0 DUP2 DUP2 MSTORE POP POP POP POP POP POP PUSH2 0x510 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25D DUP3 PUSH2 0x232 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26F DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x27F DUP2 PUSH2 0x264 JUMP JUMPDEST DUP2 EQ PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x29C DUP2 PUSH2 0x276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AD DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BD DUP2 PUSH2 0x2A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2DA DUP2 PUSH2 0x2B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EB DUP3 PUSH2 0x252 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2FB DUP2 PUSH2 0x2E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x318 DUP2 PUSH2 0x2F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x331 DUP2 PUSH2 0x31E JUMP JUMPDEST DUP2 EQ PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x34E DUP2 PUSH2 0x328 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x36E JUMPI PUSH2 0x36D PUSH2 0x22D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x37C DUP8 DUP3 DUP9 ADD PUSH2 0x28D JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x38D DUP8 DUP3 DUP9 ADD PUSH2 0x2CB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x39E DUP8 DUP3 DUP9 ADD PUSH2 0x309 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x3AF DUP8 DUP3 DUP9 ADD PUSH2 0x33F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E616D6520577261707065722061646472657373206D75737420626520736574 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x402 PUSH1 0x20 DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x40D DUP3 PUSH2 0x3CC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x431 DUP2 PUSH2 0x3F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x56657269666965722061646472657373206D7573742062652073657400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46E PUSH1 0x1C DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x479 DUP3 PUSH2 0x438 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x49D DUP2 PUSH2 0x461 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x52656769737472792061646472657373206D7573742062652073657400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DA PUSH1 0x1C DUP4 PUSH2 0x3BB JUMP JUMPDEST SWAP2 POP PUSH2 0x4E5 DUP3 PUSH2 0x4A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x509 DUP2 PUSH2 0x4CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xE0 MLOAD PUSH2 0x3ACA PUSH2 0x56C PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xFB5 ADD MSTORE PUSH2 0x1594 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0xBE5 ADD MSTORE DUP2 DUP2 PUSH2 0x146A ADD MSTORE PUSH2 0x14BD ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x678 ADD MSTORE PUSH2 0x13CE ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x654 ADD MSTORE PUSH2 0x1372 ADD MSTORE PUSH2 0x3ACA 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 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9061B923 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD358DF77 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD358DF77 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0xD6AE3CD5 EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF00EEBF4 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF470901A EQ PUSH2 0x305 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x9061B923 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xA8E5FBC0 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xAC177C37 EQ PUSH2 0x263 JUMPI DUP1 PUSH4 0xAC8A4A5D EQ PUSH2 0x27F JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2B7AC3F3 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2B7AC3F3 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x3F15457F EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5BDAA916 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x6D74E86E EQ PUSH2 0x1F7 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x15F64386 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x1A33DDAE EQ PUSH2 0x15B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x114 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1DA4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x121 SWAP2 SWAP1 PUSH2 0x1DEC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x152 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x182 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x193 PUSH2 0x652 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2159 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B1 PUSH2 0x676 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BE SWAP2 SWAP1 PUSH2 0x2195 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24D PUSH2 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25A SWAP2 SWAP1 PUSH2 0x22F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x27D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x233A JUMP JUMPDEST PUSH2 0xC07 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xD5C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2BF PUSH2 0xFB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xFD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x31F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31A SWAP2 SWAP1 PUSH2 0x2507 JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x9061B92300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x400 JUMPI POP PUSH32 0x15F6438600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x468 JUMPI POP PUSH32 0xF00EEBF400000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x478 JUMPI POP PUSH2 0x477 DUP3 PUSH2 0x109C JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48D DUP4 PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0x94BC2DB6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D2 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x2651 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE5C4CF73 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x551 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0x8DEA91D DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x625 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP6 DUP6 DUP2 ADD SWAP1 PUSH2 0x6AD SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP10 DUP10 DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0x2978 JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC51CA02A DUP8 DUP8 DUP8 DUP13 PUSH2 0x6FD PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71D SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2C23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x73A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x763 SWAP2 SWAP1 PUSH2 0x2D40 JUMP JUMPDEST SWAP1 POP DUP5 MLOAD DUP2 MLOAD EQ PUSH2 0x7AF JUMPI DUP1 MLOAD DUP6 MLOAD PUSH1 0x40 MLOAD PUSH32 0x2918942500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A6 SWAP3 SWAP2 SWAP1 PUSH2 0x2D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x84A DUP5 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x7C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x126F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD RETURN JUMPDEST PUSH1 0x0 PUSH3 0x15180 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP4 DUP4 SWAP1 POP LT ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89F SWAP1 PUSH2 0x2E35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x4 SWAP1 DUP1 SWAP3 PUSH2 0x8BD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E5F JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x8CA SWAP2 SWAP1 PUSH2 0x2E9A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x9BE DUP2 DUP8 DUP8 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x12BB JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x3 PUSH20 0x0 PUSH4 0x4062ACE3 DUP10 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA03 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA20 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA44 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST GT ISZERO PUSH2 0xA85 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA7C SWAP1 PUSH2 0x2F13 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAD6 DUP9 DUP9 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x0 DUP7 DUP7 SWAP1 PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x2F4B JUMP JUMPDEST SWAP1 POP PUSH4 0x3B3B57DE PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SUB PUSH2 0xBA0 JUMPI PUSH1 0x0 PUSH2 0xB42 DUP11 DUP11 PUSH2 0x496 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xB93 DUP3 DUP3 DUP7 PUSH2 0x1348 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD2 SWAP1 PUSH2 0x2FF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC56 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xC62 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xCA1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC98 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0xD24DBAC998CB2D343FB2B7FE7C54B44DE845182FF5C7B461EF274AFEE047B5E7 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH2 0xD4D SWAP3 SWAP2 SWAP1 PUSH2 0x30A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAB DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xDB7 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xDF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDED SWAP1 PUSH2 0x3143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x704DFB2F4B8F24190956226460D0667A92B988DE5055430D52E6B0315922E2C DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE79 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xED6 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xEE2 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xF21 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF18 SWAP1 PUSH2 0x31D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x88781081CC340609705AF0F96BF3BA64EA267873444E91725BD072F2AF0F44D8 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFA5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3222 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x102A DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1036 DUP2 PUSH2 0x1592 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1071 SWAP2 SWAP1 PUSH2 0x3298 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1084 SWAP2 SWAP1 PUSH2 0x32C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x111E DUP5 DUP7 PUSH2 0x15F1 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP1 SHL SWAP3 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 PUSH2 0x1155 PUSH1 0x1 DUP7 PUSH2 0x1144 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST DUP4 DUP9 PUSH2 0x161C SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x1178 DUP7 PUSH1 0x1 DUP5 DUP9 PUSH2 0x1169 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1173 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1106 JUMP JUMPDEST DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1193 SWAP3 SWAP2 SWAP1 PUSH2 0x3364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1250 JUMPI DUP4 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP4 POP SWAP4 POP POP POP PUSH2 0x1268 JUMP JUMPDEST POP PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL PUSH1 0x0 SWAP3 POP SWAP3 POP POP PUSH2 0x1268 JUMP JUMPDEST POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x12B3 DUP4 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416464726573733A206C6F772D6C6576656C2063616C6C206661696C65640000 DUP2 MSTORE POP PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12E5 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1320 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO PUSH2 0x133A JUMPI DUP1 SWAP3 POP POP POP PUSH2 0x1342 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x13C2 PUSH4 0xF470901A PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13B3 DUP8 PUSH2 0x13A5 DUP9 PUSH2 0x1397 PUSH32 0x0 DUP11 PUSH2 0x1715 JUMP JUMPDEST PUSH2 0x1824 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1905 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1986 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x2571BE3 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1425 SWAP2 SWAP1 PUSH2 0x33E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1442 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1466 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x155B JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6352211E DUP5 PUSH1 0x0 SHR PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1534 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1558 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 PUSH1 0x40 MLOAD PUSH32 0xE0A0507100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E8 SWAP3 SWAP2 SWAP1 PUSH2 0x3440 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1606 JUMPI PUSH2 0x1605 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD DUP3 DUP5 PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST GT ISZERO PUSH2 0x1637 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP4 PUSH1 0x20 DUP7 ADD ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x168D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1684 SWAP1 PUSH2 0x34DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x16B6 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x16F3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16F8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1709 DUP8 DUP4 DUP4 DUP8 PUSH2 0x1B11 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x171D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x173A JUMPI PUSH2 0x1739 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1768 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1788 JUMPI PUSH2 0x1787 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x17BB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x17A6 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x182C PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x184F JUMPI POP PUSH1 0x20 DUP6 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x1860 JUMPI PUSH2 0x185F DUP6 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP6 PUSH1 0x40 ADD MLOAD MLOAD GT ISZERO PUSH2 0x18B2 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH32 0x128E700800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18A9 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x60 ADD DUP2 DUP2 MSTORE POP POP PUSH2 0x18C8 DUP6 PUSH1 0x0 PUSH2 0x1B86 JUMP JUMPDEST PUSH2 0x18FA DUP6 PUSH2 0x18F5 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x18E1 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x190D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH32 0xB00FD63800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x197D DUP4 PUSH2 0x1978 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1964 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD MLOAD GT DUP1 ISZERO PUSH2 0x199F JUMPI POP PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF DUP4 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST ADDRESS DUP4 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB50F2FBC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A29 SWAP2 SWAP1 PUSH2 0x367D JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD DUP7 PUSH1 0x80 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1A4A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH4 0xEA9CD3BF PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH4 0x5BDAA916 PUSH1 0xE0 SHL DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD DUP9 PUSH1 0x40 ADD MLOAD DUP10 PUSH1 0x80 ADD MLOAD DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AC2 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x371A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x556F183000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1B73 JUMPI PUSH1 0x0 DUP4 MLOAD SUB PUSH2 0x1B6B JUMPI PUSH2 0x1B2B DUP6 PUSH2 0x1C6A JUMP JUMPDEST PUSH2 0x1B6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B61 SWAP1 PUSH2 0x395B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP3 SWAP1 POP PUSH2 0x1B7E JUMP JUMPDEST PUSH2 0x1B7D DUP4 DUP4 PUSH2 0x1C8D JUMP JUMPDEST JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH1 0x40 ADD MLOAD MLOAD PUSH2 0x1B9A SWAP2 SWAP1 PUSH2 0x397B JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x60 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x1BAE SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP2 MSTORE POP PUSH1 0x8 PUSH2 0x1BBD SWAP2 SWAP1 PUSH2 0x39F7 JUMP JUMPDEST DUP3 PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD OR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C1C JUMPI PUSH2 0x1C1B PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x80 ADD MLOAD SWAP1 POP DUP1 MLOAD SWAP2 POP PUSH1 0x1 DUP3 ADD DUP2 MSTORE DUP3 DUP2 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1C58 JUMPI PUSH2 0x1C57 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT ISZERO PUSH2 0x1CA0 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD4 SWAP2 SWAP1 PUSH2 0x3A72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D81 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP2 EQ PUSH2 0x1D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D9E DUP2 PUSH2 0x1D78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DB9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DE6 DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E01 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP 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 0x1E5A DUP3 PUSH2 0x1E11 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1E79 JUMPI PUSH2 0x1E78 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8C PUSH2 0x1D38 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E98 DUP3 DUP3 PUSH2 0x1E51 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1EB8 JUMPI PUSH2 0x1EB7 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC1 DUP3 PUSH2 0x1E11 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 0x1EF0 PUSH2 0x1EEB DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1F0C JUMPI PUSH2 0x1F0B PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x1F17 DUP5 DUP3 DUP6 PUSH2 0x1ECE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1F34 JUMPI PUSH2 0x1F33 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F44 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EDD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F63 JUMPI PUSH2 0x1F62 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F81 JUMPI PUSH2 0x1F80 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1F8D DUP5 DUP3 DUP6 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA9 DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDA DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FEA DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2005 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FA0 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2039 JUMPI PUSH2 0x2038 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2056 JUMPI PUSH2 0x2055 PUSH2 0x2019 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2072 JUMPI PUSH2 0x2071 PUSH2 0x201E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2090 JUMPI PUSH2 0x208F PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20AE JUMPI PUSH2 0x20AD PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x20BA DUP6 DUP3 DUP7 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x20D9 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211F PUSH2 0x211A PUSH2 0x2115 DUP5 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x20FA JUMP JUMPDEST PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2131 DUP3 PUSH2 0x2104 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2153 DUP2 PUSH2 0x2138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x216E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x214A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217F DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x218F DUP2 PUSH2 0x2174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x21AA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2186 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x21CA JUMPI PUSH2 0x21C9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21E8 JUMPI PUSH2 0x21E7 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x21F4 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2217 JUMPI PUSH2 0x2216 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2223 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 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 0x226B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2282 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x228C DUP2 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x229C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x22A5 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22CA DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DD DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x22ED DUP2 PUSH2 0x22D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2308 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2317 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x2322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2334 DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2353 JUMPI PUSH2 0x2352 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2371 JUMPI PUSH2 0x2370 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x237D DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x2390 DUP7 DUP3 DUP8 ADD PUSH2 0x2325 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x23A3 DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP2 EQ PUSH2 0x23AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x23C0 DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x23DF JUMPI PUSH2 0x23DE PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23FD JUMPI PUSH2 0x23FC PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2409 DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x241C DUP7 DUP3 DUP8 ADD PUSH2 0x23B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2441 JUMPI PUSH2 0x2440 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2465 PUSH2 0x2460 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2488 JUMPI PUSH2 0x2487 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x24CF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24AD JUMPI PUSH2 0x24AC PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x24BA DUP10 DUP3 PUSH2 0x1F1F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x248A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EE JUMPI PUSH2 0x24ED PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x24FE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2452 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x251E JUMPI PUSH2 0x251D PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253C JUMPI PUSH2 0x253B PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2548 DUP6 DUP3 DUP7 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2569 JUMPI PUSH2 0x2568 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2575 DUP6 DUP3 DUP7 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x259C DUP4 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x25A9 DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x25B2 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25D8 DUP2 DUP5 DUP7 PUSH2 0x2590 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F4 PUSH2 0x25EF DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x260F PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x261B DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2638 JUMPI PUSH2 0x2637 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2648 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2667 JUMPI PUSH2 0x2666 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2685 JUMPI PUSH2 0x2684 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2691 DUP5 DUP3 DUP6 ADD PUSH2 0x2623 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A5 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x26AF DUP2 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x26BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x26C8 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26ED DUP2 DUP5 PUSH2 0x269A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x26FE DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x26F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2737 JUMPI PUSH2 0x2736 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2745 DUP5 DUP3 DUP6 ADD PUSH2 0x270C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4C6162656C206973206E6F742061206E756D6265720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2795 PUSH1 0x15 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x27A0 DUP3 PUSH2 0x275F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27C4 DUP2 PUSH2 0x2788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27DA DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2804 DUP5 DUP3 DUP6 ADD PUSH2 0x27CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 DUP3 PUSH2 0x1FCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2828 DUP2 PUSH2 0x280D JUMP JUMPDEST DUP2 EQ PUSH2 0x2833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2845 DUP2 PUSH2 0x281F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2856 DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2866 DUP2 PUSH2 0x284B JUMP JUMPDEST DUP2 EQ PUSH2 0x2871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2883 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x28A4 JUMPI PUSH2 0x28A3 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28BE DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP2 EQ PUSH2 0x28C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28DB DUP2 PUSH2 0x28B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F4 PUSH2 0x28EF DUP5 PUSH2 0x2889 JUMP JUMPDEST PUSH2 0x1E82 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 0x2917 JUMPI PUSH2 0x2916 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2940 JUMPI DUP1 PUSH2 0x292C DUP9 DUP3 PUSH2 0x28CC JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2919 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x295F JUMPI PUSH2 0x295E PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x296F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2995 JUMPI PUSH2 0x2994 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x29A3 DUP10 DUP3 DUP11 ADD PUSH2 0x2836 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x29B4 DUP10 DUP3 DUP11 ADD PUSH2 0x2874 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D5 JUMPI PUSH2 0x29D4 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x29E1 DUP10 DUP3 DUP11 ADD PUSH2 0x294A JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A02 JUMPI PUSH2 0x2A01 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A0E DUP10 DUP3 DUP11 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2A1F DUP10 DUP3 DUP11 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A40 JUMPI PUSH2 0x2A3F PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A4C DUP10 DUP3 DUP11 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 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 PUSH2 0x2A8E DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA0 DUP4 DUP4 PUSH2 0x2A85 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC4 DUP3 PUSH2 0x2A59 JUMP JUMPDEST PUSH2 0x2ACE DUP2 DUP6 PUSH2 0x2A64 JUMP JUMPDEST SWAP4 POP PUSH2 0x2AD9 DUP4 PUSH2 0x2A75 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2B0A JUMPI DUP2 MLOAD PUSH2 0x2AF1 DUP9 DUP3 PUSH2 0x2A94 JUMP JUMPDEST SWAP8 POP PUSH2 0x2AFC DUP4 PUSH2 0x2AAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2ADD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5F DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x2B69 DUP2 DUP6 PUSH2 0x2B43 JUMP JUMPDEST SWAP4 POP PUSH2 0x2B79 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x2B82 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B99 DUP4 DUP4 PUSH2 0x2B54 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 0x2BB9 DUP3 PUSH2 0x2B17 JUMP JUMPDEST PUSH2 0x2BC3 DUP2 DUP6 PUSH2 0x2B22 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2BD5 DUP6 PUSH2 0x2B33 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2C11 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2BF2 DUP6 DUP3 PUSH2 0x2B8D JUMP JUMPDEST SWAP5 POP PUSH2 0x2BFD DUP4 PUSH2 0x2BA1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2BD9 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2C38 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2C4A DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2C5E DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2C72 DUP2 DUP6 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x2C81 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C9E PUSH2 0x2C99 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2CC1 JUMPI PUSH2 0x2CC0 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D08 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CE6 JUMPI PUSH2 0x2CE5 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x2CF3 DUP10 DUP3 PUSH2 0x2623 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2CC3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D27 JUMPI PUSH2 0x2D26 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2D37 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2C8B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D56 JUMPI PUSH2 0x2D55 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D74 JUMPI PUSH2 0x2D73 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2D80 DUP5 DUP3 DUP6 ADD PUSH2 0x2D12 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2D9E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x2DAB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2DCC DUP2 DUP6 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2DE0 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x706172616D206461746120746F6F2073686F7274000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E1F PUSH1 0x14 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2E2A DUP3 PUSH2 0x2DE9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E4E DUP2 PUSH2 0x2E12 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x2E73 JUMPI PUSH2 0x2E72 PUSH2 0x2E55 JUMP JUMPDEST JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x2E84 JUMPI PUSH2 0x2E83 PUSH2 0x2E5A JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 MUL DUP4 ADD SWAP2 POP DUP5 DUP7 SUB SWAP1 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EB0 JUMPI PUSH2 0x2EAF PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2EBE DUP5 DUP3 DUP6 ADD PUSH2 0x28CC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x546F6F206D616E7920737562646F6D61696E206C6576656C7300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EFD PUSH1 0x19 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2F08 DUP3 PUSH2 0x2EC7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F2C DUP2 PUSH2 0x2EF0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F57 DUP4 DUP4 PUSH2 0x2F33 JUMP JUMPDEST DUP3 PUSH2 0x2F62 DUP2 CALLDATALOAD PUSH2 0x1D4C JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x2FA2 JUMPI PUSH2 0x2F9D PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x4 SUB PUSH1 0x8 MUL PUSH2 0x2F3E JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642073656C6563746F7200000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE0 PUSH1 0x10 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2FEB DUP3 PUSH2 0x2FAA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x300F DUP2 PUSH2 0x2FD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737320736C6F7420666F722074686973206E6F6465000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3072 PUSH1 0x37 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x307D DUP3 PUSH2 0x3016 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30A1 DUP2 PUSH2 0x3065 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x30BD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FE1 JUMP JUMPDEST PUSH2 0x30CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F20736574207265736F6C7665722066 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F722074686973206E6F64650000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x312D PUSH1 0x2C DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3138 DUP3 PUSH2 0x30D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x315C DUP2 PUSH2 0x3120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420666F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2074686973206E6F646500000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BF PUSH1 0x2A DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x31CA DUP3 PUSH2 0x3163 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EE DUP2 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3201 DUP4 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x320E DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x3217 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x323D DUP2 DUP6 DUP8 PUSH2 0x31F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x324C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3292 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32AE JUMPI PUSH2 0x32AD PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32BC DUP5 DUP3 DUP6 ADD PUSH2 0x3283 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32DA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x331A DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3325 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x333D JUMPI PUSH2 0x333C PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x335E PUSH2 0x3359 DUP3 PUSH2 0x1F96 JUMP JUMPDEST PUSH2 0x3343 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3370 DUP3 DUP6 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x3380 DUP3 DUP5 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33A6 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x33B0 DUP2 DUP6 PUSH2 0x3390 JUMP JUMPDEST SWAP4 POP PUSH2 0x33C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 DUP3 DUP5 PUSH2 0x339B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FA0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x340D DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3429 JUMPI PUSH2 0x3428 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3437 DUP5 DUP3 DUP6 ADD PUSH2 0x33FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3455 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x3462 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34C5 PUSH1 0x26 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x34D0 DUP3 PUSH2 0x3469 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34F4 DUP2 PUSH2 0x34B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3516 JUMPI PUSH2 0x3515 PUSH2 0x1E22 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 0x3542 JUMPI PUSH2 0x3541 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x354B DUP3 PUSH2 0x1E11 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356B PUSH2 0x3566 DUP5 PUSH2 0x3527 JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3587 JUMPI PUSH2 0x3586 PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x3592 DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x35AF JUMPI PUSH2 0x35AE PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x35BF DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3558 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35DB PUSH2 0x35D6 DUP5 PUSH2 0x34FB JUMP JUMPDEST PUSH2 0x1E82 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 0x35FE JUMPI PUSH2 0x35FD PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3645 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3623 JUMPI PUSH2 0x3622 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x3630 DUP10 DUP3 PUSH2 0x359A JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3600 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3664 JUMPI PUSH2 0x3663 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x3674 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x35C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3693 JUMPI PUSH2 0x3692 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x36BD DUP5 DUP3 DUP6 ADD PUSH2 0x364F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x36DB PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x36ED DUP2 DUP6 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3701 DUP2 DUP5 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x3714 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x372F PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x373C PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x374E DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x3762 DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP PUSH2 0x3771 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x3783 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP 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 PUSH2 0x37E3 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x37ED DUP2 DUP6 PUSH2 0x37C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x37FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3806 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x381D DUP4 DUP4 PUSH2 0x37D8 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 0x383D DUP3 PUSH2 0x3790 JUMP JUMPDEST PUSH2 0x3847 DUP2 DUP6 PUSH2 0x379B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x3859 DUP6 PUSH2 0x37AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3895 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x3876 DUP6 DUP3 PUSH2 0x3811 JUMP JUMPDEST SWAP5 POP PUSH2 0x3881 DUP4 PUSH2 0x3825 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x385D JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x38BC PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38CE DUP2 DUP8 PUSH2 0x3832 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x38E2 DUP2 DUP7 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x38F1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3903 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3945 PUSH1 0x1D DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3950 DUP3 PUSH2 0x390F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3974 DUP2 PUSH2 0x3938 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3986 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3991 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x39A9 JUMPI PUSH2 0x39A8 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39BA DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x39EC JUMPI PUSH2 0x39EB PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0D DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x3A1B DUP2 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x3A32 JUMPI PUSH2 0x3A31 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A44 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x3A4E DUP2 DUP6 PUSH2 0x274E JUMP JUMPDEST SWAP4 POP PUSH2 0x3A5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3A67 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3A8C DUP2 DUP5 PUSH2 0x3A39 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP 0x25 SWAP14 PUSH30 0x2476CAC1E182A62CC9DDB39E660A13E8A7DA9CD96A986379F70EAB8E6473 PUSH16 0x6C634300081900330000000000000000 ", + "sourceMap": "1084:9781:20:-:0;;;2952:575;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3147:1;3114:35;;3122:12;3114:35;;;3093:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;3268:1;3238:32;;3246:9;3238:32;;;3217:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;3367:1;3342:27;;3350:4;3342:27;;;3334:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3423:9;3412:20;;;;;;;;;;3448:4;3442:10;;;;;;;;;;3476:12;3462:26;;;;;;;;;;3510:10;3498:22;;;;;;2952:575;;;;1084:9781;;88:117:21;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:116::-;625:7;654:24;672:5;654:24;:::i;:::-;643:35;;568:116;;;:::o;690:162::-;783:44;821:5;783:44;:::i;:::-;776:5;773:55;763:83;;842:1;839;832:12;763:83;690:162;:::o;858:183::-;935:5;966:6;960:13;951:22;;982:53;1029:5;982:53;:::i;:::-;858:183;;;;:::o;1047:108::-;1096:7;1125:24;1143:5;1125:24;:::i;:::-;1114:35;;1047:108;;;:::o;1161:146::-;1246:36;1276:5;1246:36;:::i;:::-;1239:5;1236:47;1226:75;;1297:1;1294;1287:12;1226:75;1161:146;:::o;1313:167::-;1382:5;1413:6;1407:13;1398:22;;1429:45;1468:5;1429:45;:::i;:::-;1313:167;;;;:::o;1486:117::-;1544:7;1573:24;1591:5;1573:24;:::i;:::-;1562:35;;1486:117;;;:::o;1609:164::-;1703:45;1742:5;1703:45;:::i;:::-;1696:5;1693:56;1683:84;;1763:1;1760;1753:12;1683:84;1609:164;:::o;1779:185::-;1857:5;1888:6;1882:13;1873:22;;1904:54;1952:5;1904:54;:::i;:::-;1779:185;;;;:::o;1970:77::-;2007:7;2036:5;2025:16;;1970:77;;;:::o;2053:122::-;2126:24;2144:5;2126:24;:::i;:::-;2119:5;2116:35;2106:63;;2165:1;2162;2155:12;2106:63;2053:122;:::o;2181:143::-;2238:5;2269:6;2263:13;2254:22;;2285:33;2312:5;2285:33;:::i;:::-;2181:143;;;;:::o;2330:926::-;2480:6;2488;2496;2504;2553:3;2541:9;2532:7;2528:23;2524:33;2521:120;;;2560:79;;:::i;:::-;2521:120;2680:1;2705:84;2781:7;2772:6;2761:9;2757:22;2705:84;:::i;:::-;2695:94;;2651:148;2838:2;2864:76;2932:7;2923:6;2912:9;2908:22;2864:76;:::i;:::-;2854:86;;2809:141;2989:2;3015:85;3092:7;3083:6;3072:9;3068:22;3015:85;:::i;:::-;3005:95;;2960:150;3149:2;3175:64;3231:7;3222:6;3211:9;3207:22;3175:64;:::i;:::-;3165:74;;3120:129;2330:926;;;;;;;:::o;3262:169::-;3346:11;3380:6;3375:3;3368:19;3420:4;3415:3;3411:14;3396:29;;3262:169;;;;:::o;3437:182::-;3577:34;3573:1;3565:6;3561:14;3554:58;3437:182;:::o;3625:366::-;3767:3;3788:67;3852:2;3847:3;3788:67;:::i;:::-;3781:74;;3864:93;3953:3;3864:93;:::i;:::-;3982:2;3977:3;3973:12;3966:19;;3625:366;;;:::o;3997:419::-;4163:4;4201:2;4190:9;4186:18;4178:26;;4250:9;4244:4;4240:20;4236:1;4225:9;4221:17;4214:47;4278:131;4404:4;4278:131;:::i;:::-;4270:139;;3997:419;;;:::o;4422:178::-;4562:30;4558:1;4550:6;4546:14;4539:54;4422:178;:::o;4606:366::-;4748:3;4769:67;4833:2;4828:3;4769:67;:::i;:::-;4762:74;;4845:93;4934:3;4845:93;:::i;:::-;4963:2;4958:3;4954:12;4947:19;;4606:366;;;:::o;4978:419::-;5144:4;5182:2;5171:9;5167:18;5159:26;;5231:9;5225:4;5221:20;5217:1;5206:9;5202:17;5195:47;5259:131;5385:4;5259:131;:::i;:::-;5251:139;;4978:419;;;:::o;5403:178::-;5543:30;5539:1;5531:6;5527:14;5520:54;5403:178;:::o;5587:366::-;5729:3;5750:67;5814:2;5809:3;5750:67;:::i;:::-;5743:74;;5826:93;5915:3;5826:93;:::i;:::-;5944:2;5939:3;5935:12;5928:19;;5587:366;;;:::o;5959:419::-;6125:4;6163:2;6152:9;6148:18;6140:26;;6212:9;6206:4;6202:20;6198:1;6187:9;6183:17;6176:47;6240:131;6366:4;6240:131;:::i;:::-;6232:139;;5959:419;;;:::o;1084:9781:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@_addConstant_726": { + "entryPoint": 7213, + "id": 726, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_addOperation_770": { + "entryPoint": 7046, + "id": 770, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_addr_3918": { + "entryPoint": 4936, + "id": 3918, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@_getTarget_3700": { + "entryPoint": 4358, + "id": 3700, + "parameterSlots": 2, + "returnSlots": 2 + }, + "@_resolve_3887": { + "entryPoint": 4795, + "id": 3887, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@_revert_2986": { + "entryPoint": 7309, + "id": 2986, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@_writeDeferral_3992": { + "entryPoint": 5522, + "id": 3992, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@addrCallback_3946": { + "entryPoint": 4158, + "id": 3946, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@element_438": { + "entryPoint": 6405, + "id": 438, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@ens_3320": { + "entryPoint": 1654, + "id": 3320, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@extractNFTId_3838": { + "entryPoint": 1174, + "id": 3838, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@fetch_692": { + "entryPoint": 6534, + "id": 692, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@functionCallWithValue_2811": { + "entryPoint": 5704, + "id": 2811, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@functionCall_2727": { + "entryPoint": 4719, + "id": 2727, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAcceptedL2BlockRangeLength_3484": { + "entryPoint": 2132, + "id": 3484, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getStatic_326": { + "entryPoint": 6180, + "id": 326, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getStorageSlotsCallback_115": { + "entryPoint": 1690, + "id": 115, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@getTarget_3605": { + "entryPoint": 1151, + "id": 3605, + "parameterSlots": 1, + "returnSlots": 2 + }, + "@isAuthorised_3396": { + "entryPoint": 5065, + "id": 3396, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@isContract_2675": { + "entryPoint": 7274, + "id": 2675, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@keccak_1111": { + "entryPoint": 5660, + "id": 1111, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@l2ChainId_3325": { + "entryPoint": 4019, + "id": 3325, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@nameWrapper_3323": { + "entryPoint": 3043, + "id": 3323, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@newFetchRequest_249": { + "entryPoint": 5909, + "id": 249, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@readUint8_1552": { + "entryPoint": 5617, + "id": 1552, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@resolve_3809": { + "entryPoint": 2143, + "id": 3809, + "parameterSlots": 4, + "returnSlots": 1 + }, + "@setAddr_3860": { + "entryPoint": 4055, + "id": 3860, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@setBaseNodeResolver_3550": { + "entryPoint": 3420, + "id": 3550, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@setTargetAddrSlot_3589": { + "entryPoint": 3079, + "id": 3589, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@setTarget_3517": { + "entryPoint": 3719, + "id": 3517, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@supportsInterface_3010": { + "entryPoint": 4252, + "id": 3010, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@supportsInterface_3981": { + "entryPoint": 821, + "id": 3981, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@verifier_3317": { + "entryPoint": 1618, + "id": 3317, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@verifyCallResultFromTarget_2942": { + "entryPoint": 6929, + "id": 2942, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10465, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9298, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11403, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13768, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr": { + "entryPoint": 7901, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9697, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_available_length_t_string_memory_ptr_fromMemory": { + "entryPoint": 13656, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_t_address": { + "entryPoint": 9137, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_fromMemory": { + "entryPoint": 13310, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_payable": { + "entryPoint": 10356, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_address_payable_fromMemory": { + "entryPoint": 12931, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10570, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9433, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11538, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13903, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bool_fromMemory": { + "entryPoint": 9996, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes32": { + "entryPoint": 10444, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes4": { + "entryPoint": 7567, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_calldata_ptr": { + "entryPoint": 8227, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_t_bytes_memory_ptr": { + "entryPoint": 7967, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9763, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10294, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_string_memory_ptr_fromMemory": { + "entryPoint": 13722, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256": { + "entryPoint": 8997, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_t_uint256_fromMemory": { + "entryPoint": 10187, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 13331, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_payable_fromMemory": { + "entryPoint": 12952, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 11584, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr": { + "entryPoint": 9479, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory": { + "entryPoint": 13949, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 10017, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes32": { + "entryPoint": 11930, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes4": { + "entryPoint": 7588, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_calldata_ptr": { + "entryPoint": 8313, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_address": { + "entryPoint": 9158, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr": { + "entryPoint": 8624, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_bytes_calldata_ptrt_uint256": { + "entryPoint": 9018, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_bytes_memory_ptr": { + "entryPoint": 8013, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes_memory_ptr_fromMemory": { + "entryPoint": 9809, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr": { + "entryPoint": 10616, + "id": null, + "parameterSlots": 2, + "returnSlots": 6 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 10208, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32": { + "entryPoint": 10900, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { + "entryPoint": 11149, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 14353, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_address_to_t_address_fromStack": { + "entryPoint": 8161, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10937, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 11182, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 14386, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bool_to_t_bool_fromStack": { + "entryPoint": 7645, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32": { + "entryPoint": 10885, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_fromStack": { + "entryPoint": 8096, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { + "entryPoint": 13133, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes4_to_t_bytes4_fromStack": { + "entryPoint": 14091, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 12789, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9616, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr": { + "entryPoint": 11092, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8823, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9882, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 13211, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack": { + "entryPoint": 8582, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack": { + "entryPoint": 8522, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack": { + "entryPoint": 8932, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": { + "entryPoint": 14296, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { + "entryPoint": 14905, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12576, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12243, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack": { + "entryPoint": 10120, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12016, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack": { + "entryPoint": 13496, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12389, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack": { + "entryPoint": 14648, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack": { + "entryPoint": 11794, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack": { + "entryPoint": 12722, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_t_uint256_to_t_uint256_fromStack": { + "entryPoint": 8400, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 13156, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 13260, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { + "entryPoint": 12997, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 14022, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__fromStack_reversed": { + "entryPoint": 11299, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 14503, + "id": null, + "parameterSlots": 6, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": 12456, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 11698, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": 7660, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": 13283, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed": { + "entryPoint": 8176, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 9661, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed": { + "entryPoint": 12834, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed": { + "entryPoint": 9939, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 8880, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed": { + "entryPoint": 8597, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed": { + "entryPoint": 8537, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed": { + "entryPoint": 14106, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed": { + "entryPoint": 8947, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 14962, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12611, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12278, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10155, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12051, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 13531, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12424, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 14683, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 11829, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 12757, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": 8415, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed": { + "entryPoint": 13376, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 11657, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 7810, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_unbounded": { + "entryPoint": 7480, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10377, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 9254, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 13563, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_bytes_memory_ptr": { + "entryPoint": 7837, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_allocation_size_t_string_memory_ptr": { + "entryPoint": 13607, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10869, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11059, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14252, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_t_bytes_calldata_ptr": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10841, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11031, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14224, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_bytes_calldata_ptr": { + "entryPoint": 12083, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_length_t_bytes_memory_ptr": { + "entryPoint": 8753, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_length_t_string_memory_ptr": { + "entryPoint": 14268, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 10924, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 11169, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr": { + "entryPoint": 14373, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack": { + "entryPoint": 10852, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 11042, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack": { + "entryPoint": 14235, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr": { + "entryPoint": 11075, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { + "entryPoint": 8764, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library": { + "entryPoint": 9599, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { + "entryPoint": 13200, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr": { + "entryPoint": 14279, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { + "entryPoint": 10062, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "calldata_array_index_range_access_t_bytes_calldata_ptr": { + "entryPoint": 11871, + "id": null, + "parameterSlots": 4, + "returnSlots": 2 + }, + "checked_add_t_uint256": { + "entryPoint": 13071, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_mul_t_uint256": { + "entryPoint": 14839, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 14715, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "cleanup_t_address": { + "entryPoint": 8143, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_address_payable": { + "entryPoint": 10315, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bool": { + "entryPoint": 7633, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes32": { + "entryPoint": 8086, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_bytes4": { + "entryPoint": 7500, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10253, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint160": { + "entryPoint": 8111, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "cleanup_t_uint256": { + "entryPoint": 8390, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4": { + "entryPoint": 12107, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "convert_t_contract$_ENS_$1030_to_t_address": { + "entryPoint": 8564, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_contract$_IEVMVerifier_$798_to_t_address": { + "entryPoint": 8504, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_contract$_INameWrapper_$2401_to_t_address": { + "entryPoint": 8914, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_uint160_to_t_address": { + "entryPoint": 8486, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_t_uint160_to_t_uint160": { + "entryPoint": 8452, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "copy_calldata_to_memory_with_cleanup": { + "entryPoint": 7886, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 8781, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "finalize_allocation": { + "entryPoint": 7761, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "identity": { + "entryPoint": 8442, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "increment_t_uint256": { + "entryPoint": 14767, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "leftAlign_t_bytes32": { + "entryPoint": 13123, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 13024, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x32": { + "entryPoint": 12884, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 7714, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": { + "entryPoint": 8217, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { + "entryPoint": 7687, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c": { + "entryPoint": 11866, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a": { + "entryPoint": 11861, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { + "entryPoint": 8222, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { + "entryPoint": 7692, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { + "entryPoint": 7495, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { + "entryPoint": 7490, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "round_up_to_mul_of_32": { + "entryPoint": 7697, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "shift_left_dynamic": { + "entryPoint": 12094, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1": { + "entryPoint": 12497, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92": { + "entryPoint": 12202, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28": { + "entryPoint": 10079, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f": { + "entryPoint": 11975, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c": { + "entryPoint": 13417, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f": { + "entryPoint": 12310, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad": { + "entryPoint": 14607, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a": { + "entryPoint": 11753, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838": { + "entryPoint": 12643, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address": { + "entryPoint": 9114, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_address_payable": { + "entryPoint": 10333, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bool": { + "entryPoint": 9973, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes32": { + "entryPoint": 10421, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_bytes4": { + "entryPoint": 7544, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_contract$_IEVMVerifier_$798": { + "entryPoint": 10271, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + }, + "validator_revert_t_uint256": { + "entryPoint": 8974, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:58796:21", + "nodeType": "YulBlock", + "src": "0:58796:21", + "statements": [ + { + "body": { + "nativeSrc": "47:35:21", + "nodeType": "YulBlock", + "src": "47:35:21", + "statements": [ + { + "nativeSrc": "57:19:21", + "nodeType": "YulAssignment", + "src": "57:19:21", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "73:2:21", + "nodeType": "YulLiteral", + "src": "73:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "67:5:21", + "nodeType": "YulIdentifier", + "src": "67:5:21" + }, + "nativeSrc": "67:9:21", + "nodeType": "YulFunctionCall", + "src": "67:9:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "57:6:21", + "nodeType": "YulIdentifier", + "src": "57:6:21" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nativeSrc": "7:75:21", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "40:6:21", + "nodeType": "YulTypedName", + "src": "40:6:21", + "type": "" + } + ], + "src": "7:75:21" + }, + { + "body": { + "nativeSrc": "177:28:21", + "nodeType": "YulBlock", + "src": "177:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "194:1:21", + "nodeType": "YulLiteral", + "src": "194:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "197:1:21", + "nodeType": "YulLiteral", + "src": "197:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "187:6:21", + "nodeType": "YulIdentifier", + "src": "187:6:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulFunctionCall", + "src": "187:12:21" + }, + "nativeSrc": "187:12:21", + "nodeType": "YulExpressionStatement", + "src": "187:12:21" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "88:117:21", + "nodeType": "YulFunctionDefinition", + "src": "88:117:21" + }, + { + "body": { + "nativeSrc": "300:28:21", + "nodeType": "YulBlock", + "src": "300:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "317:1:21", + "nodeType": "YulLiteral", + "src": "317:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "320:1:21", + "nodeType": "YulLiteral", + "src": "320:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "310:6:21", + "nodeType": "YulIdentifier", + "src": "310:6:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulFunctionCall", + "src": "310:12:21" + }, + "nativeSrc": "310:12:21", + "nodeType": "YulExpressionStatement", + "src": "310:12:21" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "211:117:21", + "nodeType": "YulFunctionDefinition", + "src": "211:117:21" + }, + { + "body": { + "nativeSrc": "378:105:21", + "nodeType": "YulBlock", + "src": "378:105:21", + "statements": [ + { + "nativeSrc": "388:89:21", + "nodeType": "YulAssignment", + "src": "388:89:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "403:5:21", + "nodeType": "YulIdentifier", + "src": "403:5:21" + }, + { + "kind": "number", + "nativeSrc": "410:66:21", + "nodeType": "YulLiteral", + "src": "410:66:21", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "399:3:21", + "nodeType": "YulIdentifier", + "src": "399:3:21" + }, + "nativeSrc": "399:78:21", + "nodeType": "YulFunctionCall", + "src": "399:78:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "388:7:21", + "nodeType": "YulIdentifier", + "src": "388:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nativeSrc": "334:149:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "360:5:21", + "nodeType": "YulTypedName", + "src": "360:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "370:7:21", + "nodeType": "YulTypedName", + "src": "370:7:21", + "type": "" + } + ], + "src": "334:149:21" + }, + { + "body": { + "nativeSrc": "531:78:21", + "nodeType": "YulBlock", + "src": "531:78:21", + "statements": [ + { + "body": { + "nativeSrc": "587:16:21", + "nodeType": "YulBlock", + "src": "587:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "596:1:21", + "nodeType": "YulLiteral", + "src": "596:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "599:1:21", + "nodeType": "YulLiteral", + "src": "599:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "589:6:21", + "nodeType": "YulIdentifier", + "src": "589:6:21" + }, + "nativeSrc": "589:12:21", + "nodeType": "YulFunctionCall", + "src": "589:12:21" + }, + "nativeSrc": "589:12:21", + "nodeType": "YulExpressionStatement", + "src": "589:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "554:5:21", + "nodeType": "YulIdentifier", + "src": "554:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "578:5:21", + "nodeType": "YulIdentifier", + "src": "578:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "561:16:21", + "nodeType": "YulIdentifier", + "src": "561:16:21" + }, + "nativeSrc": "561:23:21", + "nodeType": "YulFunctionCall", + "src": "561:23:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "551:2:21", + "nodeType": "YulIdentifier", + "src": "551:2:21" + }, + "nativeSrc": "551:34:21", + "nodeType": "YulFunctionCall", + "src": "551:34:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "544:6:21", + "nodeType": "YulIdentifier", + "src": "544:6:21" + }, + "nativeSrc": "544:42:21", + "nodeType": "YulFunctionCall", + "src": "544:42:21" + }, + "nativeSrc": "541:62:21", + "nodeType": "YulIf", + "src": "541:62:21" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nativeSrc": "489:120:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "524:5:21", + "nodeType": "YulTypedName", + "src": "524:5:21", + "type": "" + } + ], + "src": "489:120:21" + }, + { + "body": { + "nativeSrc": "666:86:21", + "nodeType": "YulBlock", + "src": "666:86:21", + "statements": [ + { + "nativeSrc": "676:29:21", + "nodeType": "YulAssignment", + "src": "676:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "698:6:21", + "nodeType": "YulIdentifier", + "src": "698:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "685:12:21", + "nodeType": "YulIdentifier", + "src": "685:12:21" + }, + "nativeSrc": "685:20:21", + "nodeType": "YulFunctionCall", + "src": "685:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "676:5:21", + "nodeType": "YulIdentifier", + "src": "676:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "740:5:21", + "nodeType": "YulIdentifier", + "src": "740:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nativeSrc": "714:25:21", + "nodeType": "YulIdentifier", + "src": "714:25:21" + }, + "nativeSrc": "714:32:21", + "nodeType": "YulFunctionCall", + "src": "714:32:21" + }, + "nativeSrc": "714:32:21", + "nodeType": "YulExpressionStatement", + "src": "714:32:21" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nativeSrc": "615:137:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "644:6:21", + "nodeType": "YulTypedName", + "src": "644:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "652:3:21", + "nodeType": "YulTypedName", + "src": "652:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "660:5:21", + "nodeType": "YulTypedName", + "src": "660:5:21", + "type": "" + } + ], + "src": "615:137:21" + }, + { + "body": { + "nativeSrc": "823:262:21", + "nodeType": "YulBlock", + "src": "823:262:21", + "statements": [ + { + "body": { + "nativeSrc": "869:83:21", + "nodeType": "YulBlock", + "src": "869:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "871:77:21", + "nodeType": "YulIdentifier", + "src": "871:77:21" + }, + "nativeSrc": "871:79:21", + "nodeType": "YulFunctionCall", + "src": "871:79:21" + }, + "nativeSrc": "871:79:21", + "nodeType": "YulExpressionStatement", + "src": "871:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "844:7:21", + "nodeType": "YulIdentifier", + "src": "844:7:21" + }, + { + "name": "headStart", + "nativeSrc": "853:9:21", + "nodeType": "YulIdentifier", + "src": "853:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "840:3:21", + "nodeType": "YulIdentifier", + "src": "840:3:21" + }, + "nativeSrc": "840:23:21", + "nodeType": "YulFunctionCall", + "src": "840:23:21" + }, + { + "kind": "number", + "nativeSrc": "865:2:21", + "nodeType": "YulLiteral", + "src": "865:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "836:3:21", + "nodeType": "YulIdentifier", + "src": "836:3:21" + }, + "nativeSrc": "836:32:21", + "nodeType": "YulFunctionCall", + "src": "836:32:21" + }, + "nativeSrc": "833:119:21", + "nodeType": "YulIf", + "src": "833:119:21" + }, + { + "nativeSrc": "962:116:21", + "nodeType": "YulBlock", + "src": "962:116:21", + "statements": [ + { + "nativeSrc": "977:15:21", + "nodeType": "YulVariableDeclaration", + "src": "977:15:21", + "value": { + "kind": "number", + "nativeSrc": "991:1:21", + "nodeType": "YulLiteral", + "src": "991:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "981:6:21", + "nodeType": "YulTypedName", + "src": "981:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "1006:62:21", + "nodeType": "YulAssignment", + "src": "1006:62:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1040:9:21", + "nodeType": "YulIdentifier", + "src": "1040:9:21" + }, + { + "name": "offset", + "nativeSrc": "1051:6:21", + "nodeType": "YulIdentifier", + "src": "1051:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1036:3:21", + "nodeType": "YulIdentifier", + "src": "1036:3:21" + }, + "nativeSrc": "1036:22:21", + "nodeType": "YulFunctionCall", + "src": "1036:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "1060:7:21", + "nodeType": "YulIdentifier", + "src": "1060:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "1016:19:21", + "nodeType": "YulIdentifier", + "src": "1016:19:21" + }, + "nativeSrc": "1016:52:21", + "nodeType": "YulFunctionCall", + "src": "1016:52:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1006:6:21", + "nodeType": "YulIdentifier", + "src": "1006:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nativeSrc": "758:327:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "793:9:21", + "nodeType": "YulTypedName", + "src": "793:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "804:7:21", + "nodeType": "YulTypedName", + "src": "804:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "816:6:21", + "nodeType": "YulTypedName", + "src": "816:6:21", + "type": "" + } + ], + "src": "758:327:21" + }, + { + "body": { + "nativeSrc": "1133:48:21", + "nodeType": "YulBlock", + "src": "1133:48:21", + "statements": [ + { + "nativeSrc": "1143:32:21", + "nodeType": "YulAssignment", + "src": "1143:32:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1168:5:21", + "nodeType": "YulIdentifier", + "src": "1168:5:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1161:6:21", + "nodeType": "YulIdentifier", + "src": "1161:6:21" + }, + "nativeSrc": "1161:13:21", + "nodeType": "YulFunctionCall", + "src": "1161:13:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1154:6:21", + "nodeType": "YulIdentifier", + "src": "1154:6:21" + }, + "nativeSrc": "1154:21:21", + "nodeType": "YulFunctionCall", + "src": "1154:21:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "1143:7:21", + "nodeType": "YulIdentifier", + "src": "1143:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nativeSrc": "1091:90:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1115:5:21", + "nodeType": "YulTypedName", + "src": "1115:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "1125:7:21", + "nodeType": "YulTypedName", + "src": "1125:7:21", + "type": "" + } + ], + "src": "1091:90:21" + }, + { + "body": { + "nativeSrc": "1246:50:21", + "nodeType": "YulBlock", + "src": "1246:50:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1263:3:21", + "nodeType": "YulIdentifier", + "src": "1263:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1283:5:21", + "nodeType": "YulIdentifier", + "src": "1283:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "1268:14:21", + "nodeType": "YulIdentifier", + "src": "1268:14:21" + }, + "nativeSrc": "1268:21:21", + "nodeType": "YulFunctionCall", + "src": "1268:21:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1256:6:21", + "nodeType": "YulIdentifier", + "src": "1256:6:21" + }, + "nativeSrc": "1256:34:21", + "nodeType": "YulFunctionCall", + "src": "1256:34:21" + }, + "nativeSrc": "1256:34:21", + "nodeType": "YulExpressionStatement", + "src": "1256:34:21" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1187:109:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1234:5:21", + "nodeType": "YulTypedName", + "src": "1234:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1241:3:21", + "nodeType": "YulTypedName", + "src": "1241:3:21", + "type": "" + } + ], + "src": "1187:109:21" + }, + { + "body": { + "nativeSrc": "1394:118:21", + "nodeType": "YulBlock", + "src": "1394:118:21", + "statements": [ + { + "nativeSrc": "1404:26:21", + "nodeType": "YulAssignment", + "src": "1404:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1416:9:21", + "nodeType": "YulIdentifier", + "src": "1416:9:21" + }, + { + "kind": "number", + "nativeSrc": "1427:2:21", + "nodeType": "YulLiteral", + "src": "1427:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1412:3:21", + "nodeType": "YulIdentifier", + "src": "1412:3:21" + }, + "nativeSrc": "1412:18:21", + "nodeType": "YulFunctionCall", + "src": "1412:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1404:4:21", + "nodeType": "YulIdentifier", + "src": "1404:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1478:6:21", + "nodeType": "YulIdentifier", + "src": "1478:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1491:9:21", + "nodeType": "YulIdentifier", + "src": "1491:9:21" + }, + { + "kind": "number", + "nativeSrc": "1502:1:21", + "nodeType": "YulLiteral", + "src": "1502:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1487:3:21", + "nodeType": "YulIdentifier", + "src": "1487:3:21" + }, + "nativeSrc": "1487:17:21", + "nodeType": "YulFunctionCall", + "src": "1487:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nativeSrc": "1440:37:21", + "nodeType": "YulIdentifier", + "src": "1440:37:21" + }, + "nativeSrc": "1440:65:21", + "nodeType": "YulFunctionCall", + "src": "1440:65:21" + }, + "nativeSrc": "1440:65:21", + "nodeType": "YulExpressionStatement", + "src": "1440:65:21" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "1302:210:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1366:9:21", + "nodeType": "YulTypedName", + "src": "1366:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "1378:6:21", + "nodeType": "YulTypedName", + "src": "1378:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "1389:4:21", + "nodeType": "YulTypedName", + "src": "1389:4:21", + "type": "" + } + ], + "src": "1302:210:21" + }, + { + "body": { + "nativeSrc": "1607:28:21", + "nodeType": "YulBlock", + "src": "1607:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1624:1:21", + "nodeType": "YulLiteral", + "src": "1624:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1627:1:21", + "nodeType": "YulLiteral", + "src": "1627:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1617:6:21", + "nodeType": "YulIdentifier", + "src": "1617:6:21" + }, + "nativeSrc": "1617:12:21", + "nodeType": "YulFunctionCall", + "src": "1617:12:21" + }, + "nativeSrc": "1617:12:21", + "nodeType": "YulExpressionStatement", + "src": "1617:12:21" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "1518:117:21", + "nodeType": "YulFunctionDefinition", + "src": "1518:117:21" + }, + { + "body": { + "nativeSrc": "1730:28:21", + "nodeType": "YulBlock", + "src": "1730:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1747:1:21", + "nodeType": "YulLiteral", + "src": "1747:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1750:1:21", + "nodeType": "YulLiteral", + "src": "1750:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1740:6:21", + "nodeType": "YulIdentifier", + "src": "1740:6:21" + }, + "nativeSrc": "1740:12:21", + "nodeType": "YulFunctionCall", + "src": "1740:12:21" + }, + "nativeSrc": "1740:12:21", + "nodeType": "YulExpressionStatement", + "src": "1740:12:21" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "1641:117:21", + "nodeType": "YulFunctionDefinition", + "src": "1641:117:21" + }, + { + "body": { + "nativeSrc": "1812:54:21", + "nodeType": "YulBlock", + "src": "1812:54:21", + "statements": [ + { + "nativeSrc": "1822:38:21", + "nodeType": "YulAssignment", + "src": "1822:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1840:5:21", + "nodeType": "YulIdentifier", + "src": "1840:5:21" + }, + { + "kind": "number", + "nativeSrc": "1847:2:21", + "nodeType": "YulLiteral", + "src": "1847:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1836:3:21", + "nodeType": "YulIdentifier", + "src": "1836:3:21" + }, + "nativeSrc": "1836:14:21", + "nodeType": "YulFunctionCall", + "src": "1836:14:21" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1856:2:21", + "nodeType": "YulLiteral", + "src": "1856:2:21", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "1852:3:21", + "nodeType": "YulIdentifier", + "src": "1852:3:21" + }, + "nativeSrc": "1852:7:21", + "nodeType": "YulFunctionCall", + "src": "1852:7:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1832:3:21", + "nodeType": "YulIdentifier", + "src": "1832:3:21" + }, + "nativeSrc": "1832:28:21", + "nodeType": "YulFunctionCall", + "src": "1832:28:21" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "1822:6:21", + "nodeType": "YulIdentifier", + "src": "1822:6:21" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nativeSrc": "1764:102:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1795:5:21", + "nodeType": "YulTypedName", + "src": "1795:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nativeSrc": "1805:6:21", + "nodeType": "YulTypedName", + "src": "1805:6:21", + "type": "" + } + ], + "src": "1764:102:21" + }, + { + "body": { + "nativeSrc": "1900:152:21", + "nodeType": "YulBlock", + "src": "1900:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1917:1:21", + "nodeType": "YulLiteral", + "src": "1917:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1920:77:21", + "nodeType": "YulLiteral", + "src": "1920:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1910:6:21", + "nodeType": "YulIdentifier", + "src": "1910:6:21" + }, + "nativeSrc": "1910:88:21", + "nodeType": "YulFunctionCall", + "src": "1910:88:21" + }, + "nativeSrc": "1910:88:21", + "nodeType": "YulExpressionStatement", + "src": "1910:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2014:1:21", + "nodeType": "YulLiteral", + "src": "2014:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2017:4:21", + "nodeType": "YulLiteral", + "src": "2017:4:21", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2007:6:21", + "nodeType": "YulIdentifier", + "src": "2007:6:21" + }, + "nativeSrc": "2007:15:21", + "nodeType": "YulFunctionCall", + "src": "2007:15:21" + }, + "nativeSrc": "2007:15:21", + "nodeType": "YulExpressionStatement", + "src": "2007:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2038:1:21", + "nodeType": "YulLiteral", + "src": "2038:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2041:4:21", + "nodeType": "YulLiteral", + "src": "2041:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2031:6:21", + "nodeType": "YulIdentifier", + "src": "2031:6:21" + }, + "nativeSrc": "2031:15:21", + "nodeType": "YulFunctionCall", + "src": "2031:15:21" + }, + "nativeSrc": "2031:15:21", + "nodeType": "YulExpressionStatement", + "src": "2031:15:21" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "1872:180:21", + "nodeType": "YulFunctionDefinition", + "src": "1872:180:21" + }, + { + "body": { + "nativeSrc": "2101:238:21", + "nodeType": "YulBlock", + "src": "2101:238:21", + "statements": [ + { + "nativeSrc": "2111:58:21", + "nodeType": "YulVariableDeclaration", + "src": "2111:58:21", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2133:6:21", + "nodeType": "YulIdentifier", + "src": "2133:6:21" + }, + { + "arguments": [ + { + "name": "size", + "nativeSrc": "2163:4:21", + "nodeType": "YulIdentifier", + "src": "2163:4:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2141:21:21", + "nodeType": "YulIdentifier", + "src": "2141:21:21" + }, + "nativeSrc": "2141:27:21", + "nodeType": "YulFunctionCall", + "src": "2141:27:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2129:3:21", + "nodeType": "YulIdentifier", + "src": "2129:3:21" + }, + "nativeSrc": "2129:40:21", + "nodeType": "YulFunctionCall", + "src": "2129:40:21" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "2115:10:21", + "nodeType": "YulTypedName", + "src": "2115:10:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2280:22:21", + "nodeType": "YulBlock", + "src": "2280:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2282:16:21", + "nodeType": "YulIdentifier", + "src": "2282:16:21" + }, + "nativeSrc": "2282:18:21", + "nodeType": "YulFunctionCall", + "src": "2282:18:21" + }, + "nativeSrc": "2282:18:21", + "nodeType": "YulExpressionStatement", + "src": "2282:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2223:10:21", + "nodeType": "YulIdentifier", + "src": "2223:10:21" + }, + { + "kind": "number", + "nativeSrc": "2235:18:21", + "nodeType": "YulLiteral", + "src": "2235:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2220:2:21", + "nodeType": "YulIdentifier", + "src": "2220:2:21" + }, + "nativeSrc": "2220:34:21", + "nodeType": "YulFunctionCall", + "src": "2220:34:21" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2259:10:21", + "nodeType": "YulIdentifier", + "src": "2259:10:21" + }, + { + "name": "memPtr", + "nativeSrc": "2271:6:21", + "nodeType": "YulIdentifier", + "src": "2271:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2256:2:21", + "nodeType": "YulIdentifier", + "src": "2256:2:21" + }, + "nativeSrc": "2256:22:21", + "nodeType": "YulFunctionCall", + "src": "2256:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2217:2:21", + "nodeType": "YulIdentifier", + "src": "2217:2:21" + }, + "nativeSrc": "2217:62:21", + "nodeType": "YulFunctionCall", + "src": "2217:62:21" + }, + "nativeSrc": "2214:88:21", + "nodeType": "YulIf", + "src": "2214:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2318:2:21", + "nodeType": "YulLiteral", + "src": "2318:2:21", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2322:10:21", + "nodeType": "YulIdentifier", + "src": "2322:10:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2311:6:21", + "nodeType": "YulIdentifier", + "src": "2311:6:21" + }, + "nativeSrc": "2311:22:21", + "nodeType": "YulFunctionCall", + "src": "2311:22:21" + }, + "nativeSrc": "2311:22:21", + "nodeType": "YulExpressionStatement", + "src": "2311:22:21" + } + ] + }, + "name": "finalize_allocation", + "nativeSrc": "2058:281:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "2087:6:21", + "nodeType": "YulTypedName", + "src": "2087:6:21", + "type": "" + }, + { + "name": "size", + "nativeSrc": "2095:4:21", + "nodeType": "YulTypedName", + "src": "2095:4:21", + "type": "" + } + ], + "src": "2058:281:21" + }, + { + "body": { + "nativeSrc": "2386:88:21", + "nodeType": "YulBlock", + "src": "2386:88:21", + "statements": [ + { + "nativeSrc": "2396:30:21", + "nodeType": "YulAssignment", + "src": "2396:30:21", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nativeSrc": "2406:18:21", + "nodeType": "YulIdentifier", + "src": "2406:18:21" + }, + "nativeSrc": "2406:20:21", + "nodeType": "YulFunctionCall", + "src": "2406:20:21" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "2396:6:21", + "nodeType": "YulIdentifier", + "src": "2396:6:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2455:6:21", + "nodeType": "YulIdentifier", + "src": "2455:6:21" + }, + { + "name": "size", + "nativeSrc": "2463:4:21", + "nodeType": "YulIdentifier", + "src": "2463:4:21" + } + ], + "functionName": { + "name": "finalize_allocation", + "nativeSrc": "2435:19:21", + "nodeType": "YulIdentifier", + "src": "2435:19:21" + }, + "nativeSrc": "2435:33:21", + "nodeType": "YulFunctionCall", + "src": "2435:33:21" + }, + "nativeSrc": "2435:33:21", + "nodeType": "YulExpressionStatement", + "src": "2435:33:21" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "2345:129:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "2370:4:21", + "nodeType": "YulTypedName", + "src": "2370:4:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "2379:6:21", + "nodeType": "YulTypedName", + "src": "2379:6:21", + "type": "" + } + ], + "src": "2345:129:21" + }, + { + "body": { + "nativeSrc": "2546:241:21", + "nodeType": "YulBlock", + "src": "2546:241:21", + "statements": [ + { + "body": { + "nativeSrc": "2651:22:21", + "nodeType": "YulBlock", + "src": "2651:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2653:16:21", + "nodeType": "YulIdentifier", + "src": "2653:16:21" + }, + "nativeSrc": "2653:18:21", + "nodeType": "YulFunctionCall", + "src": "2653:18:21" + }, + "nativeSrc": "2653:18:21", + "nodeType": "YulExpressionStatement", + "src": "2653:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2623:6:21", + "nodeType": "YulIdentifier", + "src": "2623:6:21" + }, + { + "kind": "number", + "nativeSrc": "2631:18:21", + "nodeType": "YulLiteral", + "src": "2631:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2620:2:21", + "nodeType": "YulIdentifier", + "src": "2620:2:21" + }, + "nativeSrc": "2620:30:21", + "nodeType": "YulFunctionCall", + "src": "2620:30:21" + }, + "nativeSrc": "2617:56:21", + "nodeType": "YulIf", + "src": "2617:56:21" + }, + { + "nativeSrc": "2683:37:21", + "nodeType": "YulAssignment", + "src": "2683:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "2713:6:21", + "nodeType": "YulIdentifier", + "src": "2713:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "2691:21:21", + "nodeType": "YulIdentifier", + "src": "2691:21:21" + }, + "nativeSrc": "2691:29:21", + "nodeType": "YulFunctionCall", + "src": "2691:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "2683:4:21", + "nodeType": "YulIdentifier", + "src": "2683:4:21" + } + ] + }, + { + "nativeSrc": "2757:23:21", + "nodeType": "YulAssignment", + "src": "2757:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "2769:4:21", + "nodeType": "YulIdentifier", + "src": "2769:4:21" + }, + { + "kind": "number", + "nativeSrc": "2775:4:21", + "nodeType": "YulLiteral", + "src": "2775:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2765:3:21", + "nodeType": "YulIdentifier", + "src": "2765:3:21" + }, + "nativeSrc": "2765:15:21", + "nodeType": "YulFunctionCall", + "src": "2765:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "2757:4:21", + "nodeType": "YulIdentifier", + "src": "2757:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "2480:307:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "2530:6:21", + "nodeType": "YulTypedName", + "src": "2530:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "2541:4:21", + "nodeType": "YulTypedName", + "src": "2541:4:21", + "type": "" + } + ], + "src": "2480:307:21" + }, + { + "body": { + "nativeSrc": "2857:84:21", + "nodeType": "YulBlock", + "src": "2857:84:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2881:3:21", + "nodeType": "YulIdentifier", + "src": "2881:3:21" + }, + { + "name": "src", + "nativeSrc": "2886:3:21", + "nodeType": "YulIdentifier", + "src": "2886:3:21" + }, + { + "name": "length", + "nativeSrc": "2891:6:21", + "nodeType": "YulIdentifier", + "src": "2891:6:21" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "2868:12:21", + "nodeType": "YulIdentifier", + "src": "2868:12:21" + }, + "nativeSrc": "2868:30:21", + "nodeType": "YulFunctionCall", + "src": "2868:30:21" + }, + "nativeSrc": "2868:30:21", + "nodeType": "YulExpressionStatement", + "src": "2868:30:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2918:3:21", + "nodeType": "YulIdentifier", + "src": "2918:3:21" + }, + { + "name": "length", + "nativeSrc": "2923:6:21", + "nodeType": "YulIdentifier", + "src": "2923:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2914:3:21", + "nodeType": "YulIdentifier", + "src": "2914:3:21" + }, + "nativeSrc": "2914:16:21", + "nodeType": "YulFunctionCall", + "src": "2914:16:21" + }, + { + "kind": "number", + "nativeSrc": "2932:1:21", + "nodeType": "YulLiteral", + "src": "2932:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2907:6:21", + "nodeType": "YulIdentifier", + "src": "2907:6:21" + }, + "nativeSrc": "2907:27:21", + "nodeType": "YulFunctionCall", + "src": "2907:27:21" + }, + "nativeSrc": "2907:27:21", + "nodeType": "YulExpressionStatement", + "src": "2907:27:21" + } + ] + }, + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "2793:148:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "2839:3:21", + "nodeType": "YulTypedName", + "src": "2839:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "2844:3:21", + "nodeType": "YulTypedName", + "src": "2844:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "2849:6:21", + "nodeType": "YulTypedName", + "src": "2849:6:21", + "type": "" + } + ], + "src": "2793:148:21" + }, + { + "body": { + "nativeSrc": "3030:340:21", + "nodeType": "YulBlock", + "src": "3030:340:21", + "statements": [ + { + "nativeSrc": "3040:74:21", + "nodeType": "YulAssignment", + "src": "3040:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3106:6:21", + "nodeType": "YulIdentifier", + "src": "3106:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "3065:40:21", + "nodeType": "YulIdentifier", + "src": "3065:40:21" + }, + "nativeSrc": "3065:48:21", + "nodeType": "YulFunctionCall", + "src": "3065:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "3049:15:21", + "nodeType": "YulIdentifier", + "src": "3049:15:21" + }, + "nativeSrc": "3049:65:21", + "nodeType": "YulFunctionCall", + "src": "3049:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3040:5:21", + "nodeType": "YulIdentifier", + "src": "3040:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3130:5:21", + "nodeType": "YulIdentifier", + "src": "3130:5:21" + }, + { + "name": "length", + "nativeSrc": "3137:6:21", + "nodeType": "YulIdentifier", + "src": "3137:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3123:6:21", + "nodeType": "YulIdentifier", + "src": "3123:6:21" + }, + "nativeSrc": "3123:21:21", + "nodeType": "YulFunctionCall", + "src": "3123:21:21" + }, + "nativeSrc": "3123:21:21", + "nodeType": "YulExpressionStatement", + "src": "3123:21:21" + }, + { + "nativeSrc": "3153:27:21", + "nodeType": "YulVariableDeclaration", + "src": "3153:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3168:5:21", + "nodeType": "YulIdentifier", + "src": "3168:5:21" + }, + { + "kind": "number", + "nativeSrc": "3175:4:21", + "nodeType": "YulLiteral", + "src": "3175:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3164:3:21", + "nodeType": "YulIdentifier", + "src": "3164:3:21" + }, + "nativeSrc": "3164:16:21", + "nodeType": "YulFunctionCall", + "src": "3164:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "3157:3:21", + "nodeType": "YulTypedName", + "src": "3157:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3218:83:21", + "nodeType": "YulBlock", + "src": "3218:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "3220:77:21", + "nodeType": "YulIdentifier", + "src": "3220:77:21" + }, + "nativeSrc": "3220:79:21", + "nodeType": "YulFunctionCall", + "src": "3220:79:21" + }, + "nativeSrc": "3220:79:21", + "nodeType": "YulExpressionStatement", + "src": "3220:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "3199:3:21", + "nodeType": "YulIdentifier", + "src": "3199:3:21" + }, + { + "name": "length", + "nativeSrc": "3204:6:21", + "nodeType": "YulIdentifier", + "src": "3204:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3195:3:21", + "nodeType": "YulIdentifier", + "src": "3195:3:21" + }, + "nativeSrc": "3195:16:21", + "nodeType": "YulFunctionCall", + "src": "3195:16:21" + }, + { + "name": "end", + "nativeSrc": "3213:3:21", + "nodeType": "YulIdentifier", + "src": "3213:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3192:2:21", + "nodeType": "YulIdentifier", + "src": "3192:2:21" + }, + "nativeSrc": "3192:25:21", + "nodeType": "YulFunctionCall", + "src": "3192:25:21" + }, + "nativeSrc": "3189:112:21", + "nodeType": "YulIf", + "src": "3189:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "3347:3:21", + "nodeType": "YulIdentifier", + "src": "3347:3:21" + }, + { + "name": "dst", + "nativeSrc": "3352:3:21", + "nodeType": "YulIdentifier", + "src": "3352:3:21" + }, + { + "name": "length", + "nativeSrc": "3357:6:21", + "nodeType": "YulIdentifier", + "src": "3357:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "3310:36:21", + "nodeType": "YulIdentifier", + "src": "3310:36:21" + }, + "nativeSrc": "3310:54:21", + "nodeType": "YulFunctionCall", + "src": "3310:54:21" + }, + "nativeSrc": "3310:54:21", + "nodeType": "YulExpressionStatement", + "src": "3310:54:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "2947:423:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "3003:3:21", + "nodeType": "YulTypedName", + "src": "3003:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3008:6:21", + "nodeType": "YulTypedName", + "src": "3008:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3016:3:21", + "nodeType": "YulTypedName", + "src": "3016:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3024:5:21", + "nodeType": "YulTypedName", + "src": "3024:5:21", + "type": "" + } + ], + "src": "2947:423:21" + }, + { + "body": { + "nativeSrc": "3450:277:21", + "nodeType": "YulBlock", + "src": "3450:277:21", + "statements": [ + { + "body": { + "nativeSrc": "3499:83:21", + "nodeType": "YulBlock", + "src": "3499:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "3501:77:21", + "nodeType": "YulIdentifier", + "src": "3501:77:21" + }, + "nativeSrc": "3501:79:21", + "nodeType": "YulFunctionCall", + "src": "3501:79:21" + }, + "nativeSrc": "3501:79:21", + "nodeType": "YulExpressionStatement", + "src": "3501:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3478:6:21", + "nodeType": "YulIdentifier", + "src": "3478:6:21" + }, + { + "kind": "number", + "nativeSrc": "3486:4:21", + "nodeType": "YulLiteral", + "src": "3486:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3474:3:21", + "nodeType": "YulIdentifier", + "src": "3474:3:21" + }, + "nativeSrc": "3474:17:21", + "nodeType": "YulFunctionCall", + "src": "3474:17:21" + }, + { + "name": "end", + "nativeSrc": "3493:3:21", + "nodeType": "YulIdentifier", + "src": "3493:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3470:3:21", + "nodeType": "YulIdentifier", + "src": "3470:3:21" + }, + "nativeSrc": "3470:27:21", + "nodeType": "YulFunctionCall", + "src": "3470:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3463:6:21", + "nodeType": "YulIdentifier", + "src": "3463:6:21" + }, + "nativeSrc": "3463:35:21", + "nodeType": "YulFunctionCall", + "src": "3463:35:21" + }, + "nativeSrc": "3460:122:21", + "nodeType": "YulIf", + "src": "3460:122:21" + }, + { + "nativeSrc": "3591:34:21", + "nodeType": "YulVariableDeclaration", + "src": "3591:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3618:6:21", + "nodeType": "YulIdentifier", + "src": "3618:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3605:12:21", + "nodeType": "YulIdentifier", + "src": "3605:12:21" + }, + "nativeSrc": "3605:20:21", + "nodeType": "YulFunctionCall", + "src": "3605:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "3595:6:21", + "nodeType": "YulTypedName", + "src": "3595:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "3634:87:21", + "nodeType": "YulAssignment", + "src": "3634:87:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3694:6:21", + "nodeType": "YulIdentifier", + "src": "3694:6:21" + }, + { + "kind": "number", + "nativeSrc": "3702:4:21", + "nodeType": "YulLiteral", + "src": "3702:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3690:3:21", + "nodeType": "YulIdentifier", + "src": "3690:3:21" + }, + "nativeSrc": "3690:17:21", + "nodeType": "YulFunctionCall", + "src": "3690:17:21" + }, + { + "name": "length", + "nativeSrc": "3709:6:21", + "nodeType": "YulIdentifier", + "src": "3709:6:21" + }, + { + "name": "end", + "nativeSrc": "3717:3:21", + "nodeType": "YulIdentifier", + "src": "3717:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nativeSrc": "3643:46:21", + "nodeType": "YulIdentifier", + "src": "3643:46:21" + }, + "nativeSrc": "3643:78:21", + "nodeType": "YulFunctionCall", + "src": "3643:78:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3634:5:21", + "nodeType": "YulIdentifier", + "src": "3634:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "3389:338:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3428:6:21", + "nodeType": "YulTypedName", + "src": "3428:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3436:3:21", + "nodeType": "YulTypedName", + "src": "3436:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3444:5:21", + "nodeType": "YulTypedName", + "src": "3444:5:21", + "type": "" + } + ], + "src": "3389:338:21" + }, + { + "body": { + "nativeSrc": "3808:432:21", + "nodeType": "YulBlock", + "src": "3808:432:21", + "statements": [ + { + "body": { + "nativeSrc": "3854:83:21", + "nodeType": "YulBlock", + "src": "3854:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "3856:77:21", + "nodeType": "YulIdentifier", + "src": "3856:77:21" + }, + "nativeSrc": "3856:79:21", + "nodeType": "YulFunctionCall", + "src": "3856:79:21" + }, + "nativeSrc": "3856:79:21", + "nodeType": "YulExpressionStatement", + "src": "3856:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3829:7:21", + "nodeType": "YulIdentifier", + "src": "3829:7:21" + }, + { + "name": "headStart", + "nativeSrc": "3838:9:21", + "nodeType": "YulIdentifier", + "src": "3838:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3825:3:21", + "nodeType": "YulIdentifier", + "src": "3825:3:21" + }, + "nativeSrc": "3825:23:21", + "nodeType": "YulFunctionCall", + "src": "3825:23:21" + }, + { + "kind": "number", + "nativeSrc": "3850:2:21", + "nodeType": "YulLiteral", + "src": "3850:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3821:3:21", + "nodeType": "YulIdentifier", + "src": "3821:3:21" + }, + "nativeSrc": "3821:32:21", + "nodeType": "YulFunctionCall", + "src": "3821:32:21" + }, + "nativeSrc": "3818:119:21", + "nodeType": "YulIf", + "src": "3818:119:21" + }, + { + "nativeSrc": "3947:286:21", + "nodeType": "YulBlock", + "src": "3947:286:21", + "statements": [ + { + "nativeSrc": "3962:45:21", + "nodeType": "YulVariableDeclaration", + "src": "3962:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3993:9:21", + "nodeType": "YulIdentifier", + "src": "3993:9:21" + }, + { + "kind": "number", + "nativeSrc": "4004:1:21", + "nodeType": "YulLiteral", + "src": "4004:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3989:3:21", + "nodeType": "YulIdentifier", + "src": "3989:3:21" + }, + "nativeSrc": "3989:17:21", + "nodeType": "YulFunctionCall", + "src": "3989:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3976:12:21", + "nodeType": "YulIdentifier", + "src": "3976:12:21" + }, + "nativeSrc": "3976:31:21", + "nodeType": "YulFunctionCall", + "src": "3976:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "3966:6:21", + "nodeType": "YulTypedName", + "src": "3966:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4054:83:21", + "nodeType": "YulBlock", + "src": "4054:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "4056:77:21", + "nodeType": "YulIdentifier", + "src": "4056:77:21" + }, + "nativeSrc": "4056:79:21", + "nodeType": "YulFunctionCall", + "src": "4056:79:21" + }, + "nativeSrc": "4056:79:21", + "nodeType": "YulExpressionStatement", + "src": "4056:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4026:6:21", + "nodeType": "YulIdentifier", + "src": "4026:6:21" + }, + { + "kind": "number", + "nativeSrc": "4034:18:21", + "nodeType": "YulLiteral", + "src": "4034:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4023:2:21", + "nodeType": "YulIdentifier", + "src": "4023:2:21" + }, + "nativeSrc": "4023:30:21", + "nodeType": "YulFunctionCall", + "src": "4023:30:21" + }, + "nativeSrc": "4020:117:21", + "nodeType": "YulIf", + "src": "4020:117:21" + }, + { + "nativeSrc": "4151:72:21", + "nodeType": "YulAssignment", + "src": "4151:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4195:9:21", + "nodeType": "YulIdentifier", + "src": "4195:9:21" + }, + { + "name": "offset", + "nativeSrc": "4206:6:21", + "nodeType": "YulIdentifier", + "src": "4206:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4191:3:21", + "nodeType": "YulIdentifier", + "src": "4191:3:21" + }, + "nativeSrc": "4191:22:21", + "nodeType": "YulFunctionCall", + "src": "4191:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "4215:7:21", + "nodeType": "YulIdentifier", + "src": "4215:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "4161:29:21", + "nodeType": "YulIdentifier", + "src": "4161:29:21" + }, + "nativeSrc": "4161:62:21", + "nodeType": "YulFunctionCall", + "src": "4161:62:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4151:6:21", + "nodeType": "YulIdentifier", + "src": "4151:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nativeSrc": "3733:507:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3778:9:21", + "nodeType": "YulTypedName", + "src": "3778:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3789:7:21", + "nodeType": "YulTypedName", + "src": "3789:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3801:6:21", + "nodeType": "YulTypedName", + "src": "3801:6:21", + "type": "" + } + ], + "src": "3733:507:21" + }, + { + "body": { + "nativeSrc": "4291:32:21", + "nodeType": "YulBlock", + "src": "4291:32:21", + "statements": [ + { + "nativeSrc": "4301:16:21", + "nodeType": "YulAssignment", + "src": "4301:16:21", + "value": { + "name": "value", + "nativeSrc": "4312:5:21", + "nodeType": "YulIdentifier", + "src": "4312:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4301:7:21", + "nodeType": "YulIdentifier", + "src": "4301:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nativeSrc": "4246:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4273:5:21", + "nodeType": "YulTypedName", + "src": "4273:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4283:7:21", + "nodeType": "YulTypedName", + "src": "4283:7:21", + "type": "" + } + ], + "src": "4246:77:21" + }, + { + "body": { + "nativeSrc": "4394:53:21", + "nodeType": "YulBlock", + "src": "4394:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4411:3:21", + "nodeType": "YulIdentifier", + "src": "4411:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4434:5:21", + "nodeType": "YulIdentifier", + "src": "4434:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "4416:17:21", + "nodeType": "YulIdentifier", + "src": "4416:17:21" + }, + "nativeSrc": "4416:24:21", + "nodeType": "YulFunctionCall", + "src": "4416:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4404:6:21", + "nodeType": "YulIdentifier", + "src": "4404:6:21" + }, + "nativeSrc": "4404:37:21", + "nodeType": "YulFunctionCall", + "src": "4404:37:21" + }, + "nativeSrc": "4404:37:21", + "nodeType": "YulExpressionStatement", + "src": "4404:37:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "4329:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4382:5:21", + "nodeType": "YulTypedName", + "src": "4382:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4389:3:21", + "nodeType": "YulTypedName", + "src": "4389:3:21", + "type": "" + } + ], + "src": "4329:118:21" + }, + { + "body": { + "nativeSrc": "4498:81:21", + "nodeType": "YulBlock", + "src": "4498:81:21", + "statements": [ + { + "nativeSrc": "4508:65:21", + "nodeType": "YulAssignment", + "src": "4508:65:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4523:5:21", + "nodeType": "YulIdentifier", + "src": "4523:5:21" + }, + { + "kind": "number", + "nativeSrc": "4530:42:21", + "nodeType": "YulLiteral", + "src": "4530:42:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4519:3:21", + "nodeType": "YulIdentifier", + "src": "4519:3:21" + }, + "nativeSrc": "4519:54:21", + "nodeType": "YulFunctionCall", + "src": "4519:54:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4508:7:21", + "nodeType": "YulIdentifier", + "src": "4508:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nativeSrc": "4453:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4480:5:21", + "nodeType": "YulTypedName", + "src": "4480:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4490:7:21", + "nodeType": "YulTypedName", + "src": "4490:7:21", + "type": "" + } + ], + "src": "4453:126:21" + }, + { + "body": { + "nativeSrc": "4630:51:21", + "nodeType": "YulBlock", + "src": "4630:51:21", + "statements": [ + { + "nativeSrc": "4640:35:21", + "nodeType": "YulAssignment", + "src": "4640:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4669:5:21", + "nodeType": "YulIdentifier", + "src": "4669:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "4651:17:21", + "nodeType": "YulIdentifier", + "src": "4651:17:21" + }, + "nativeSrc": "4651:24:21", + "nodeType": "YulFunctionCall", + "src": "4651:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "4640:7:21", + "nodeType": "YulIdentifier", + "src": "4640:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nativeSrc": "4585:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4612:5:21", + "nodeType": "YulTypedName", + "src": "4612:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "4622:7:21", + "nodeType": "YulTypedName", + "src": "4622:7:21", + "type": "" + } + ], + "src": "4585:96:21" + }, + { + "body": { + "nativeSrc": "4752:53:21", + "nodeType": "YulBlock", + "src": "4752:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "4769:3:21", + "nodeType": "YulIdentifier", + "src": "4769:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4792:5:21", + "nodeType": "YulIdentifier", + "src": "4792:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "4774:17:21", + "nodeType": "YulIdentifier", + "src": "4774:17:21" + }, + "nativeSrc": "4774:24:21", + "nodeType": "YulFunctionCall", + "src": "4774:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4762:6:21", + "nodeType": "YulIdentifier", + "src": "4762:6:21" + }, + "nativeSrc": "4762:37:21", + "nodeType": "YulFunctionCall", + "src": "4762:37:21" + }, + "nativeSrc": "4762:37:21", + "nodeType": "YulExpressionStatement", + "src": "4762:37:21" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "4687:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4740:5:21", + "nodeType": "YulTypedName", + "src": "4740:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "4747:3:21", + "nodeType": "YulTypedName", + "src": "4747:3:21", + "type": "" + } + ], + "src": "4687:118:21" + }, + { + "body": { + "nativeSrc": "4937:206:21", + "nodeType": "YulBlock", + "src": "4937:206:21", + "statements": [ + { + "nativeSrc": "4947:26:21", + "nodeType": "YulAssignment", + "src": "4947:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4959:9:21", + "nodeType": "YulIdentifier", + "src": "4959:9:21" + }, + { + "kind": "number", + "nativeSrc": "4970:2:21", + "nodeType": "YulLiteral", + "src": "4970:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4955:3:21", + "nodeType": "YulIdentifier", + "src": "4955:3:21" + }, + "nativeSrc": "4955:18:21", + "nodeType": "YulFunctionCall", + "src": "4955:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4947:4:21", + "nodeType": "YulIdentifier", + "src": "4947:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5027:6:21", + "nodeType": "YulIdentifier", + "src": "5027:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5040:9:21", + "nodeType": "YulIdentifier", + "src": "5040:9:21" + }, + { + "kind": "number", + "nativeSrc": "5051:1:21", + "nodeType": "YulLiteral", + "src": "5051:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5036:3:21", + "nodeType": "YulIdentifier", + "src": "5036:3:21" + }, + "nativeSrc": "5036:17:21", + "nodeType": "YulFunctionCall", + "src": "5036:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "4983:43:21", + "nodeType": "YulIdentifier", + "src": "4983:43:21" + }, + "nativeSrc": "4983:71:21", + "nodeType": "YulFunctionCall", + "src": "4983:71:21" + }, + "nativeSrc": "4983:71:21", + "nodeType": "YulExpressionStatement", + "src": "4983:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "5108:6:21", + "nodeType": "YulIdentifier", + "src": "5108:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5121:9:21", + "nodeType": "YulIdentifier", + "src": "5121:9:21" + }, + { + "kind": "number", + "nativeSrc": "5132:2:21", + "nodeType": "YulLiteral", + "src": "5132:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5117:3:21", + "nodeType": "YulIdentifier", + "src": "5117:3:21" + }, + "nativeSrc": "5117:18:21", + "nodeType": "YulFunctionCall", + "src": "5117:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "5064:43:21", + "nodeType": "YulIdentifier", + "src": "5064:43:21" + }, + "nativeSrc": "5064:72:21", + "nodeType": "YulFunctionCall", + "src": "5064:72:21" + }, + "nativeSrc": "5064:72:21", + "nodeType": "YulExpressionStatement", + "src": "5064:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed", + "nativeSrc": "4811:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4901:9:21", + "nodeType": "YulTypedName", + "src": "4901:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4913:6:21", + "nodeType": "YulTypedName", + "src": "4913:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4921:6:21", + "nodeType": "YulTypedName", + "src": "4921:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4932:4:21", + "nodeType": "YulTypedName", + "src": "4932:4:21", + "type": "" + } + ], + "src": "4811:332:21" + }, + { + "body": { + "nativeSrc": "5238:28:21", + "nodeType": "YulBlock", + "src": "5238:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5255:1:21", + "nodeType": "YulLiteral", + "src": "5255:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5258:1:21", + "nodeType": "YulLiteral", + "src": "5258:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5248:6:21", + "nodeType": "YulIdentifier", + "src": "5248:6:21" + }, + "nativeSrc": "5248:12:21", + "nodeType": "YulFunctionCall", + "src": "5248:12:21" + }, + "nativeSrc": "5248:12:21", + "nodeType": "YulExpressionStatement", + "src": "5248:12:21" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5149:117:21", + "nodeType": "YulFunctionDefinition", + "src": "5149:117:21" + }, + { + "body": { + "nativeSrc": "5361:28:21", + "nodeType": "YulBlock", + "src": "5361:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5378:1:21", + "nodeType": "YulLiteral", + "src": "5378:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5381:1:21", + "nodeType": "YulLiteral", + "src": "5381:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5371:6:21", + "nodeType": "YulIdentifier", + "src": "5371:6:21" + }, + "nativeSrc": "5371:12:21", + "nodeType": "YulFunctionCall", + "src": "5371:12:21" + }, + "nativeSrc": "5371:12:21", + "nodeType": "YulExpressionStatement", + "src": "5371:12:21" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5272:117:21", + "nodeType": "YulFunctionDefinition", + "src": "5272:117:21" + }, + { + "body": { + "nativeSrc": "5482:478:21", + "nodeType": "YulBlock", + "src": "5482:478:21", + "statements": [ + { + "body": { + "nativeSrc": "5531:83:21", + "nodeType": "YulBlock", + "src": "5531:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "5533:77:21", + "nodeType": "YulIdentifier", + "src": "5533:77:21" + }, + "nativeSrc": "5533:79:21", + "nodeType": "YulFunctionCall", + "src": "5533:79:21" + }, + "nativeSrc": "5533:79:21", + "nodeType": "YulExpressionStatement", + "src": "5533:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5510:6:21", + "nodeType": "YulIdentifier", + "src": "5510:6:21" + }, + { + "kind": "number", + "nativeSrc": "5518:4:21", + "nodeType": "YulLiteral", + "src": "5518:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5506:3:21", + "nodeType": "YulIdentifier", + "src": "5506:3:21" + }, + "nativeSrc": "5506:17:21", + "nodeType": "YulFunctionCall", + "src": "5506:17:21" + }, + { + "name": "end", + "nativeSrc": "5525:3:21", + "nodeType": "YulIdentifier", + "src": "5525:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5502:3:21", + "nodeType": "YulIdentifier", + "src": "5502:3:21" + }, + "nativeSrc": "5502:27:21", + "nodeType": "YulFunctionCall", + "src": "5502:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5495:6:21", + "nodeType": "YulIdentifier", + "src": "5495:6:21" + }, + "nativeSrc": "5495:35:21", + "nodeType": "YulFunctionCall", + "src": "5495:35:21" + }, + "nativeSrc": "5492:122:21", + "nodeType": "YulIf", + "src": "5492:122:21" + }, + { + "nativeSrc": "5623:30:21", + "nodeType": "YulAssignment", + "src": "5623:30:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5646:6:21", + "nodeType": "YulIdentifier", + "src": "5646:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5633:12:21", + "nodeType": "YulIdentifier", + "src": "5633:12:21" + }, + "nativeSrc": "5633:20:21", + "nodeType": "YulFunctionCall", + "src": "5633:20:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5623:6:21", + "nodeType": "YulIdentifier", + "src": "5623:6:21" + } + ] + }, + { + "body": { + "nativeSrc": "5696:83:21", + "nodeType": "YulBlock", + "src": "5696:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nativeSrc": "5698:77:21", + "nodeType": "YulIdentifier", + "src": "5698:77:21" + }, + "nativeSrc": "5698:79:21", + "nodeType": "YulFunctionCall", + "src": "5698:79:21" + }, + "nativeSrc": "5698:79:21", + "nodeType": "YulExpressionStatement", + "src": "5698:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5668:6:21", + "nodeType": "YulIdentifier", + "src": "5668:6:21" + }, + { + "kind": "number", + "nativeSrc": "5676:18:21", + "nodeType": "YulLiteral", + "src": "5676:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5665:2:21", + "nodeType": "YulIdentifier", + "src": "5665:2:21" + }, + "nativeSrc": "5665:30:21", + "nodeType": "YulFunctionCall", + "src": "5665:30:21" + }, + "nativeSrc": "5662:117:21", + "nodeType": "YulIf", + "src": "5662:117:21" + }, + { + "nativeSrc": "5788:29:21", + "nodeType": "YulAssignment", + "src": "5788:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5804:6:21", + "nodeType": "YulIdentifier", + "src": "5804:6:21" + }, + { + "kind": "number", + "nativeSrc": "5812:4:21", + "nodeType": "YulLiteral", + "src": "5812:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5800:3:21", + "nodeType": "YulIdentifier", + "src": "5800:3:21" + }, + "nativeSrc": "5800:17:21", + "nodeType": "YulFunctionCall", + "src": "5800:17:21" + }, + "variableNames": [ + { + "name": "arrayPos", + "nativeSrc": "5788:8:21", + "nodeType": "YulIdentifier", + "src": "5788:8:21" + } + ] + }, + { + "body": { + "nativeSrc": "5871:83:21", + "nodeType": "YulBlock", + "src": "5871:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "5873:77:21", + "nodeType": "YulIdentifier", + "src": "5873:77:21" + }, + "nativeSrc": "5873:79:21", + "nodeType": "YulFunctionCall", + "src": "5873:79:21" + }, + "nativeSrc": "5873:79:21", + "nodeType": "YulExpressionStatement", + "src": "5873:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nativeSrc": "5836:8:21", + "nodeType": "YulIdentifier", + "src": "5836:8:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "5850:6:21", + "nodeType": "YulIdentifier", + "src": "5850:6:21" + }, + { + "kind": "number", + "nativeSrc": "5858:4:21", + "nodeType": "YulLiteral", + "src": "5858:4:21", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "5846:3:21", + "nodeType": "YulIdentifier", + "src": "5846:3:21" + }, + "nativeSrc": "5846:17:21", + "nodeType": "YulFunctionCall", + "src": "5846:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5832:3:21", + "nodeType": "YulIdentifier", + "src": "5832:3:21" + }, + "nativeSrc": "5832:32:21", + "nodeType": "YulFunctionCall", + "src": "5832:32:21" + }, + { + "name": "end", + "nativeSrc": "5866:3:21", + "nodeType": "YulIdentifier", + "src": "5866:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5829:2:21", + "nodeType": "YulIdentifier", + "src": "5829:2:21" + }, + "nativeSrc": "5829:41:21", + "nodeType": "YulFunctionCall", + "src": "5829:41:21" + }, + "nativeSrc": "5826:128:21", + "nodeType": "YulIf", + "src": "5826:128:21" + } + ] + }, + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "5408:552:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "5449:6:21", + "nodeType": "YulTypedName", + "src": "5449:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "5457:3:21", + "nodeType": "YulTypedName", + "src": "5457:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nativeSrc": "5465:8:21", + "nodeType": "YulTypedName", + "src": "5465:8:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "5475:6:21", + "nodeType": "YulTypedName", + "src": "5475:6:21", + "type": "" + } + ], + "src": "5408:552:21" + }, + { + "body": { + "nativeSrc": "6051:442:21", + "nodeType": "YulBlock", + "src": "6051:442:21", + "statements": [ + { + "body": { + "nativeSrc": "6097:83:21", + "nodeType": "YulBlock", + "src": "6097:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "6099:77:21", + "nodeType": "YulIdentifier", + "src": "6099:77:21" + }, + "nativeSrc": "6099:79:21", + "nodeType": "YulFunctionCall", + "src": "6099:79:21" + }, + "nativeSrc": "6099:79:21", + "nodeType": "YulExpressionStatement", + "src": "6099:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6072:7:21", + "nodeType": "YulIdentifier", + "src": "6072:7:21" + }, + { + "name": "headStart", + "nativeSrc": "6081:9:21", + "nodeType": "YulIdentifier", + "src": "6081:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6068:3:21", + "nodeType": "YulIdentifier", + "src": "6068:3:21" + }, + "nativeSrc": "6068:23:21", + "nodeType": "YulFunctionCall", + "src": "6068:23:21" + }, + { + "kind": "number", + "nativeSrc": "6093:2:21", + "nodeType": "YulLiteral", + "src": "6093:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6064:3:21", + "nodeType": "YulIdentifier", + "src": "6064:3:21" + }, + "nativeSrc": "6064:32:21", + "nodeType": "YulFunctionCall", + "src": "6064:32:21" + }, + "nativeSrc": "6061:119:21", + "nodeType": "YulIf", + "src": "6061:119:21" + }, + { + "nativeSrc": "6190:296:21", + "nodeType": "YulBlock", + "src": "6190:296:21", + "statements": [ + { + "nativeSrc": "6205:45:21", + "nodeType": "YulVariableDeclaration", + "src": "6205:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6236:9:21", + "nodeType": "YulIdentifier", + "src": "6236:9:21" + }, + { + "kind": "number", + "nativeSrc": "6247:1:21", + "nodeType": "YulLiteral", + "src": "6247:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6232:3:21", + "nodeType": "YulIdentifier", + "src": "6232:3:21" + }, + "nativeSrc": "6232:17:21", + "nodeType": "YulFunctionCall", + "src": "6232:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6219:12:21", + "nodeType": "YulIdentifier", + "src": "6219:12:21" + }, + "nativeSrc": "6219:31:21", + "nodeType": "YulFunctionCall", + "src": "6219:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "6209:6:21", + "nodeType": "YulTypedName", + "src": "6209:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6297:83:21", + "nodeType": "YulBlock", + "src": "6297:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "6299:77:21", + "nodeType": "YulIdentifier", + "src": "6299:77:21" + }, + "nativeSrc": "6299:79:21", + "nodeType": "YulFunctionCall", + "src": "6299:79:21" + }, + "nativeSrc": "6299:79:21", + "nodeType": "YulExpressionStatement", + "src": "6299:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "6269:6:21", + "nodeType": "YulIdentifier", + "src": "6269:6:21" + }, + { + "kind": "number", + "nativeSrc": "6277:18:21", + "nodeType": "YulLiteral", + "src": "6277:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "6266:2:21", + "nodeType": "YulIdentifier", + "src": "6266:2:21" + }, + "nativeSrc": "6266:30:21", + "nodeType": "YulFunctionCall", + "src": "6266:30:21" + }, + "nativeSrc": "6263:117:21", + "nodeType": "YulIf", + "src": "6263:117:21" + }, + { + "nativeSrc": "6394:82:21", + "nodeType": "YulAssignment", + "src": "6394:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6448:9:21", + "nodeType": "YulIdentifier", + "src": "6448:9:21" + }, + { + "name": "offset", + "nativeSrc": "6459:6:21", + "nodeType": "YulIdentifier", + "src": "6459:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6444:3:21", + "nodeType": "YulIdentifier", + "src": "6444:3:21" + }, + "nativeSrc": "6444:22:21", + "nodeType": "YulFunctionCall", + "src": "6444:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "6468:7:21", + "nodeType": "YulIdentifier", + "src": "6468:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "6412:31:21", + "nodeType": "YulIdentifier", + "src": "6412:31:21" + }, + "nativeSrc": "6412:64:21", + "nodeType": "YulFunctionCall", + "src": "6412:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6394:6:21", + "nodeType": "YulIdentifier", + "src": "6394:6:21" + }, + { + "name": "value1", + "nativeSrc": "6402:6:21", + "nodeType": "YulIdentifier", + "src": "6402:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptr", + "nativeSrc": "5966:527:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6013:9:21", + "nodeType": "YulTypedName", + "src": "6013:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6024:7:21", + "nodeType": "YulTypedName", + "src": "6024:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6036:6:21", + "nodeType": "YulTypedName", + "src": "6036:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6044:6:21", + "nodeType": "YulTypedName", + "src": "6044:6:21", + "type": "" + } + ], + "src": "5966:527:21" + }, + { + "body": { + "nativeSrc": "6544:32:21", + "nodeType": "YulBlock", + "src": "6544:32:21", + "statements": [ + { + "nativeSrc": "6554:16:21", + "nodeType": "YulAssignment", + "src": "6554:16:21", + "value": { + "name": "value", + "nativeSrc": "6565:5:21", + "nodeType": "YulIdentifier", + "src": "6565:5:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "6554:7:21", + "nodeType": "YulIdentifier", + "src": "6554:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nativeSrc": "6499:77:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6526:5:21", + "nodeType": "YulTypedName", + "src": "6526:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "6536:7:21", + "nodeType": "YulTypedName", + "src": "6536:7:21", + "type": "" + } + ], + "src": "6499:77:21" + }, + { + "body": { + "nativeSrc": "6647:53:21", + "nodeType": "YulBlock", + "src": "6647:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6664:3:21", + "nodeType": "YulIdentifier", + "src": "6664:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6687:5:21", + "nodeType": "YulIdentifier", + "src": "6687:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "6669:17:21", + "nodeType": "YulIdentifier", + "src": "6669:17:21" + }, + "nativeSrc": "6669:24:21", + "nodeType": "YulFunctionCall", + "src": "6669:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6657:6:21", + "nodeType": "YulIdentifier", + "src": "6657:6:21" + }, + "nativeSrc": "6657:37:21", + "nodeType": "YulFunctionCall", + "src": "6657:37:21" + }, + "nativeSrc": "6657:37:21", + "nodeType": "YulExpressionStatement", + "src": "6657:37:21" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6582:118:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6635:5:21", + "nodeType": "YulTypedName", + "src": "6635:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "6642:3:21", + "nodeType": "YulTypedName", + "src": "6642:3:21", + "type": "" + } + ], + "src": "6582:118:21" + }, + { + "body": { + "nativeSrc": "6804:124:21", + "nodeType": "YulBlock", + "src": "6804:124:21", + "statements": [ + { + "nativeSrc": "6814:26:21", + "nodeType": "YulAssignment", + "src": "6814:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6826:9:21", + "nodeType": "YulIdentifier", + "src": "6826:9:21" + }, + { + "kind": "number", + "nativeSrc": "6837:2:21", + "nodeType": "YulLiteral", + "src": "6837:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6822:3:21", + "nodeType": "YulIdentifier", + "src": "6822:3:21" + }, + "nativeSrc": "6822:18:21", + "nodeType": "YulFunctionCall", + "src": "6822:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6814:4:21", + "nodeType": "YulIdentifier", + "src": "6814:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6894:6:21", + "nodeType": "YulIdentifier", + "src": "6894:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6907:9:21", + "nodeType": "YulIdentifier", + "src": "6907:9:21" + }, + { + "kind": "number", + "nativeSrc": "6918:1:21", + "nodeType": "YulLiteral", + "src": "6918:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6903:3:21", + "nodeType": "YulIdentifier", + "src": "6903:3:21" + }, + "nativeSrc": "6903:17:21", + "nodeType": "YulFunctionCall", + "src": "6903:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "6850:43:21", + "nodeType": "YulIdentifier", + "src": "6850:43:21" + }, + "nativeSrc": "6850:71:21", + "nodeType": "YulFunctionCall", + "src": "6850:71:21" + }, + "nativeSrc": "6850:71:21", + "nodeType": "YulExpressionStatement", + "src": "6850:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "6706:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6776:9:21", + "nodeType": "YulTypedName", + "src": "6776:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6788:6:21", + "nodeType": "YulTypedName", + "src": "6788:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6799:4:21", + "nodeType": "YulTypedName", + "src": "6799:4:21", + "type": "" + } + ], + "src": "6706:222:21" + }, + { + "body": { + "nativeSrc": "6966:28:21", + "nodeType": "YulBlock", + "src": "6966:28:21", + "statements": [ + { + "nativeSrc": "6976:12:21", + "nodeType": "YulAssignment", + "src": "6976:12:21", + "value": { + "name": "value", + "nativeSrc": "6983:5:21", + "nodeType": "YulIdentifier", + "src": "6983:5:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "6976:3:21", + "nodeType": "YulIdentifier", + "src": "6976:3:21" + } + ] + } + ] + }, + "name": "identity", + "nativeSrc": "6934:60:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "6952:5:21", + "nodeType": "YulTypedName", + "src": "6952:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "6962:3:21", + "nodeType": "YulTypedName", + "src": "6962:3:21", + "type": "" + } + ], + "src": "6934:60:21" + }, + { + "body": { + "nativeSrc": "7060:82:21", + "nodeType": "YulBlock", + "src": "7060:82:21", + "statements": [ + { + "nativeSrc": "7070:66:21", + "nodeType": "YulAssignment", + "src": "7070:66:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7128:5:21", + "nodeType": "YulIdentifier", + "src": "7128:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "7110:17:21", + "nodeType": "YulIdentifier", + "src": "7110:17:21" + }, + "nativeSrc": "7110:24:21", + "nodeType": "YulFunctionCall", + "src": "7110:24:21" + } + ], + "functionName": { + "name": "identity", + "nativeSrc": "7101:8:21", + "nodeType": "YulIdentifier", + "src": "7101:8:21" + }, + "nativeSrc": "7101:34:21", + "nodeType": "YulFunctionCall", + "src": "7101:34:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "7083:17:21", + "nodeType": "YulIdentifier", + "src": "7083:17:21" + }, + "nativeSrc": "7083:53:21", + "nodeType": "YulFunctionCall", + "src": "7083:53:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7070:9:21", + "nodeType": "YulIdentifier", + "src": "7070:9:21" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_uint160", + "nativeSrc": "7000:142:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7040:5:21", + "nodeType": "YulTypedName", + "src": "7040:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7050:9:21", + "nodeType": "YulTypedName", + "src": "7050:9:21", + "type": "" + } + ], + "src": "7000:142:21" + }, + { + "body": { + "nativeSrc": "7208:66:21", + "nodeType": "YulBlock", + "src": "7208:66:21", + "statements": [ + { + "nativeSrc": "7218:50:21", + "nodeType": "YulAssignment", + "src": "7218:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7262:5:21", + "nodeType": "YulIdentifier", + "src": "7262:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_uint160", + "nativeSrc": "7231:30:21", + "nodeType": "YulIdentifier", + "src": "7231:30:21" + }, + "nativeSrc": "7231:37:21", + "nodeType": "YulFunctionCall", + "src": "7231:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7218:9:21", + "nodeType": "YulIdentifier", + "src": "7218:9:21" + } + ] + } + ] + }, + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7148:126:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7188:5:21", + "nodeType": "YulTypedName", + "src": "7188:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7198:9:21", + "nodeType": "YulTypedName", + "src": "7198:9:21", + "type": "" + } + ], + "src": "7148:126:21" + }, + { + "body": { + "nativeSrc": "7360:66:21", + "nodeType": "YulBlock", + "src": "7360:66:21", + "statements": [ + { + "nativeSrc": "7370:50:21", + "nodeType": "YulAssignment", + "src": "7370:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7414:5:21", + "nodeType": "YulIdentifier", + "src": "7414:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7383:30:21", + "nodeType": "YulIdentifier", + "src": "7383:30:21" + }, + "nativeSrc": "7383:37:21", + "nodeType": "YulFunctionCall", + "src": "7383:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7370:9:21", + "nodeType": "YulIdentifier", + "src": "7370:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_IEVMVerifier_$798_to_t_address", + "nativeSrc": "7280:146:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7340:5:21", + "nodeType": "YulTypedName", + "src": "7340:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7350:9:21", + "nodeType": "YulTypedName", + "src": "7350:9:21", + "type": "" + } + ], + "src": "7280:146:21" + }, + { + "body": { + "nativeSrc": "7517:86:21", + "nodeType": "YulBlock", + "src": "7517:86:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7534:3:21", + "nodeType": "YulIdentifier", + "src": "7534:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "7590:5:21", + "nodeType": "YulIdentifier", + "src": "7590:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_IEVMVerifier_$798_to_t_address", + "nativeSrc": "7539:50:21", + "nodeType": "YulIdentifier", + "src": "7539:50:21" + }, + "nativeSrc": "7539:57:21", + "nodeType": "YulFunctionCall", + "src": "7539:57:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7527:6:21", + "nodeType": "YulIdentifier", + "src": "7527:6:21" + }, + "nativeSrc": "7527:70:21", + "nodeType": "YulFunctionCall", + "src": "7527:70:21" + }, + "nativeSrc": "7527:70:21", + "nodeType": "YulExpressionStatement", + "src": "7527:70:21" + } + ] + }, + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "7432:171:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7505:5:21", + "nodeType": "YulTypedName", + "src": "7505:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "7512:3:21", + "nodeType": "YulTypedName", + "src": "7512:3:21", + "type": "" + } + ], + "src": "7432:171:21" + }, + { + "body": { + "nativeSrc": "7727:144:21", + "nodeType": "YulBlock", + "src": "7727:144:21", + "statements": [ + { + "nativeSrc": "7737:26:21", + "nodeType": "YulAssignment", + "src": "7737:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7749:9:21", + "nodeType": "YulIdentifier", + "src": "7749:9:21" + }, + { + "kind": "number", + "nativeSrc": "7760:2:21", + "nodeType": "YulLiteral", + "src": "7760:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7745:3:21", + "nodeType": "YulIdentifier", + "src": "7745:3:21" + }, + "nativeSrc": "7745:18:21", + "nodeType": "YulFunctionCall", + "src": "7745:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7737:4:21", + "nodeType": "YulIdentifier", + "src": "7737:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7837:6:21", + "nodeType": "YulIdentifier", + "src": "7837:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7850:9:21", + "nodeType": "YulIdentifier", + "src": "7850:9:21" + }, + { + "kind": "number", + "nativeSrc": "7861:1:21", + "nodeType": "YulLiteral", + "src": "7861:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7846:3:21", + "nodeType": "YulIdentifier", + "src": "7846:3:21" + }, + "nativeSrc": "7846:17:21", + "nodeType": "YulFunctionCall", + "src": "7846:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "7773:63:21", + "nodeType": "YulIdentifier", + "src": "7773:63:21" + }, + "nativeSrc": "7773:91:21", + "nodeType": "YulFunctionCall", + "src": "7773:91:21" + }, + "nativeSrc": "7773:91:21", + "nodeType": "YulExpressionStatement", + "src": "7773:91:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed", + "nativeSrc": "7609:262:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7699:9:21", + "nodeType": "YulTypedName", + "src": "7699:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7711:6:21", + "nodeType": "YulTypedName", + "src": "7711:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7722:4:21", + "nodeType": "YulTypedName", + "src": "7722:4:21", + "type": "" + } + ], + "src": "7609:262:21" + }, + { + "body": { + "nativeSrc": "7949:66:21", + "nodeType": "YulBlock", + "src": "7949:66:21", + "statements": [ + { + "nativeSrc": "7959:50:21", + "nodeType": "YulAssignment", + "src": "7959:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "8003:5:21", + "nodeType": "YulIdentifier", + "src": "8003:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "7972:30:21", + "nodeType": "YulIdentifier", + "src": "7972:30:21" + }, + "nativeSrc": "7972:37:21", + "nodeType": "YulFunctionCall", + "src": "7972:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "7959:9:21", + "nodeType": "YulIdentifier", + "src": "7959:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_ENS_$1030_to_t_address", + "nativeSrc": "7877:138:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "7929:5:21", + "nodeType": "YulTypedName", + "src": "7929:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "7939:9:21", + "nodeType": "YulTypedName", + "src": "7939:9:21", + "type": "" + } + ], + "src": "7877:138:21" + }, + { + "body": { + "nativeSrc": "8098:78:21", + "nodeType": "YulBlock", + "src": "8098:78:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "8115:3:21", + "nodeType": "YulIdentifier", + "src": "8115:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "8163:5:21", + "nodeType": "YulIdentifier", + "src": "8163:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_ENS_$1030_to_t_address", + "nativeSrc": "8120:42:21", + "nodeType": "YulIdentifier", + "src": "8120:42:21" + }, + "nativeSrc": "8120:49:21", + "nodeType": "YulFunctionCall", + "src": "8120:49:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8108:6:21", + "nodeType": "YulIdentifier", + "src": "8108:6:21" + }, + "nativeSrc": "8108:62:21", + "nodeType": "YulFunctionCall", + "src": "8108:62:21" + }, + "nativeSrc": "8108:62:21", + "nodeType": "YulExpressionStatement", + "src": "8108:62:21" + } + ] + }, + "name": "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack", + "nativeSrc": "8021:155:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "8086:5:21", + "nodeType": "YulTypedName", + "src": "8086:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "8093:3:21", + "nodeType": "YulTypedName", + "src": "8093:3:21", + "type": "" + } + ], + "src": "8021:155:21" + }, + { + "body": { + "nativeSrc": "8292:136:21", + "nodeType": "YulBlock", + "src": "8292:136:21", + "statements": [ + { + "nativeSrc": "8302:26:21", + "nodeType": "YulAssignment", + "src": "8302:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8314:9:21", + "nodeType": "YulIdentifier", + "src": "8314:9:21" + }, + { + "kind": "number", + "nativeSrc": "8325:2:21", + "nodeType": "YulLiteral", + "src": "8325:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8310:3:21", + "nodeType": "YulIdentifier", + "src": "8310:3:21" + }, + "nativeSrc": "8310:18:21", + "nodeType": "YulFunctionCall", + "src": "8310:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8302:4:21", + "nodeType": "YulIdentifier", + "src": "8302:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8394:6:21", + "nodeType": "YulIdentifier", + "src": "8394:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8407:9:21", + "nodeType": "YulIdentifier", + "src": "8407:9:21" + }, + { + "kind": "number", + "nativeSrc": "8418:1:21", + "nodeType": "YulLiteral", + "src": "8418:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8403:3:21", + "nodeType": "YulIdentifier", + "src": "8403:3:21" + }, + "nativeSrc": "8403:17:21", + "nodeType": "YulFunctionCall", + "src": "8403:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack", + "nativeSrc": "8338:55:21", + "nodeType": "YulIdentifier", + "src": "8338:55:21" + }, + "nativeSrc": "8338:83:21", + "nodeType": "YulFunctionCall", + "src": "8338:83:21" + }, + "nativeSrc": "8338:83:21", + "nodeType": "YulExpressionStatement", + "src": "8338:83:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed", + "nativeSrc": "8182:246:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8264:9:21", + "nodeType": "YulTypedName", + "src": "8264:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8276:6:21", + "nodeType": "YulTypedName", + "src": "8276:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8287:4:21", + "nodeType": "YulTypedName", + "src": "8287:4:21", + "type": "" + } + ], + "src": "8182:246:21" + }, + { + "body": { + "nativeSrc": "8555:749:21", + "nodeType": "YulBlock", + "src": "8555:749:21", + "statements": [ + { + "body": { + "nativeSrc": "8601:83:21", + "nodeType": "YulBlock", + "src": "8601:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "8603:77:21", + "nodeType": "YulIdentifier", + "src": "8603:77:21" + }, + "nativeSrc": "8603:79:21", + "nodeType": "YulFunctionCall", + "src": "8603:79:21" + }, + "nativeSrc": "8603:79:21", + "nodeType": "YulExpressionStatement", + "src": "8603:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "8576:7:21", + "nodeType": "YulIdentifier", + "src": "8576:7:21" + }, + { + "name": "headStart", + "nativeSrc": "8585:9:21", + "nodeType": "YulIdentifier", + "src": "8585:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8572:3:21", + "nodeType": "YulIdentifier", + "src": "8572:3:21" + }, + "nativeSrc": "8572:23:21", + "nodeType": "YulFunctionCall", + "src": "8572:23:21" + }, + { + "kind": "number", + "nativeSrc": "8597:2:21", + "nodeType": "YulLiteral", + "src": "8597:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "8568:3:21", + "nodeType": "YulIdentifier", + "src": "8568:3:21" + }, + "nativeSrc": "8568:32:21", + "nodeType": "YulFunctionCall", + "src": "8568:32:21" + }, + "nativeSrc": "8565:119:21", + "nodeType": "YulIf", + "src": "8565:119:21" + }, + { + "nativeSrc": "8694:296:21", + "nodeType": "YulBlock", + "src": "8694:296:21", + "statements": [ + { + "nativeSrc": "8709:45:21", + "nodeType": "YulVariableDeclaration", + "src": "8709:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8740:9:21", + "nodeType": "YulIdentifier", + "src": "8740:9:21" + }, + { + "kind": "number", + "nativeSrc": "8751:1:21", + "nodeType": "YulLiteral", + "src": "8751:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8736:3:21", + "nodeType": "YulIdentifier", + "src": "8736:3:21" + }, + "nativeSrc": "8736:17:21", + "nodeType": "YulFunctionCall", + "src": "8736:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "8723:12:21", + "nodeType": "YulIdentifier", + "src": "8723:12:21" + }, + "nativeSrc": "8723:31:21", + "nodeType": "YulFunctionCall", + "src": "8723:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "8713:6:21", + "nodeType": "YulTypedName", + "src": "8713:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8801:83:21", + "nodeType": "YulBlock", + "src": "8801:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "8803:77:21", + "nodeType": "YulIdentifier", + "src": "8803:77:21" + }, + "nativeSrc": "8803:79:21", + "nodeType": "YulFunctionCall", + "src": "8803:79:21" + }, + "nativeSrc": "8803:79:21", + "nodeType": "YulExpressionStatement", + "src": "8803:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "8773:6:21", + "nodeType": "YulIdentifier", + "src": "8773:6:21" + }, + { + "kind": "number", + "nativeSrc": "8781:18:21", + "nodeType": "YulLiteral", + "src": "8781:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8770:2:21", + "nodeType": "YulIdentifier", + "src": "8770:2:21" + }, + "nativeSrc": "8770:30:21", + "nodeType": "YulFunctionCall", + "src": "8770:30:21" + }, + "nativeSrc": "8767:117:21", + "nodeType": "YulIf", + "src": "8767:117:21" + }, + { + "nativeSrc": "8898:82:21", + "nodeType": "YulAssignment", + "src": "8898:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8952:9:21", + "nodeType": "YulIdentifier", + "src": "8952:9:21" + }, + { + "name": "offset", + "nativeSrc": "8963:6:21", + "nodeType": "YulIdentifier", + "src": "8963:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8948:3:21", + "nodeType": "YulIdentifier", + "src": "8948:3:21" + }, + "nativeSrc": "8948:22:21", + "nodeType": "YulFunctionCall", + "src": "8948:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "8972:7:21", + "nodeType": "YulIdentifier", + "src": "8972:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "8916:31:21", + "nodeType": "YulIdentifier", + "src": "8916:31:21" + }, + "nativeSrc": "8916:64:21", + "nodeType": "YulFunctionCall", + "src": "8916:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "8898:6:21", + "nodeType": "YulIdentifier", + "src": "8898:6:21" + }, + { + "name": "value1", + "nativeSrc": "8906:6:21", + "nodeType": "YulIdentifier", + "src": "8906:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "9000:297:21", + "nodeType": "YulBlock", + "src": "9000:297:21", + "statements": [ + { + "nativeSrc": "9015:46:21", + "nodeType": "YulVariableDeclaration", + "src": "9015:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9046:9:21", + "nodeType": "YulIdentifier", + "src": "9046:9:21" + }, + { + "kind": "number", + "nativeSrc": "9057:2:21", + "nodeType": "YulLiteral", + "src": "9057:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9042:3:21", + "nodeType": "YulIdentifier", + "src": "9042:3:21" + }, + "nativeSrc": "9042:18:21", + "nodeType": "YulFunctionCall", + "src": "9042:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9029:12:21", + "nodeType": "YulIdentifier", + "src": "9029:12:21" + }, + "nativeSrc": "9029:32:21", + "nodeType": "YulFunctionCall", + "src": "9029:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9019:6:21", + "nodeType": "YulTypedName", + "src": "9019:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9108:83:21", + "nodeType": "YulBlock", + "src": "9108:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "9110:77:21", + "nodeType": "YulIdentifier", + "src": "9110:77:21" + }, + "nativeSrc": "9110:79:21", + "nodeType": "YulFunctionCall", + "src": "9110:79:21" + }, + "nativeSrc": "9110:79:21", + "nodeType": "YulExpressionStatement", + "src": "9110:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9080:6:21", + "nodeType": "YulIdentifier", + "src": "9080:6:21" + }, + { + "kind": "number", + "nativeSrc": "9088:18:21", + "nodeType": "YulLiteral", + "src": "9088:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9077:2:21", + "nodeType": "YulIdentifier", + "src": "9077:2:21" + }, + "nativeSrc": "9077:30:21", + "nodeType": "YulFunctionCall", + "src": "9077:30:21" + }, + "nativeSrc": "9074:117:21", + "nodeType": "YulIf", + "src": "9074:117:21" + }, + { + "nativeSrc": "9205:82:21", + "nodeType": "YulAssignment", + "src": "9205:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9259:9:21", + "nodeType": "YulIdentifier", + "src": "9259:9:21" + }, + { + "name": "offset", + "nativeSrc": "9270:6:21", + "nodeType": "YulIdentifier", + "src": "9270:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9255:3:21", + "nodeType": "YulIdentifier", + "src": "9255:3:21" + }, + "nativeSrc": "9255:22:21", + "nodeType": "YulFunctionCall", + "src": "9255:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "9279:7:21", + "nodeType": "YulIdentifier", + "src": "9279:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "9223:31:21", + "nodeType": "YulIdentifier", + "src": "9223:31:21" + }, + "nativeSrc": "9223:64:21", + "nodeType": "YulFunctionCall", + "src": "9223:64:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "9205:6:21", + "nodeType": "YulIdentifier", + "src": "9205:6:21" + }, + { + "name": "value3", + "nativeSrc": "9213:6:21", + "nodeType": "YulIdentifier", + "src": "9213:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr", + "nativeSrc": "8434:870:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8501:9:21", + "nodeType": "YulTypedName", + "src": "8501:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "8512:7:21", + "nodeType": "YulTypedName", + "src": "8512:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "8524:6:21", + "nodeType": "YulTypedName", + "src": "8524:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8532:6:21", + "nodeType": "YulTypedName", + "src": "8532:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8540:6:21", + "nodeType": "YulTypedName", + "src": "8540:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8548:6:21", + "nodeType": "YulTypedName", + "src": "8548:6:21", + "type": "" + } + ], + "src": "8434:870:21" + }, + { + "body": { + "nativeSrc": "9368:40:21", + "nodeType": "YulBlock", + "src": "9368:40:21", + "statements": [ + { + "nativeSrc": "9379:22:21", + "nodeType": "YulAssignment", + "src": "9379:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9395:5:21", + "nodeType": "YulIdentifier", + "src": "9395:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9389:5:21", + "nodeType": "YulIdentifier", + "src": "9389:5:21" + }, + "nativeSrc": "9389:12:21", + "nodeType": "YulFunctionCall", + "src": "9389:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "9379:6:21", + "nodeType": "YulIdentifier", + "src": "9379:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9310:98:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9351:5:21", + "nodeType": "YulTypedName", + "src": "9351:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "9361:6:21", + "nodeType": "YulTypedName", + "src": "9361:6:21", + "type": "" + } + ], + "src": "9310:98:21" + }, + { + "body": { + "nativeSrc": "9509:73:21", + "nodeType": "YulBlock", + "src": "9509:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9526:3:21", + "nodeType": "YulIdentifier", + "src": "9526:3:21" + }, + { + "name": "length", + "nativeSrc": "9531:6:21", + "nodeType": "YulIdentifier", + "src": "9531:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9519:6:21", + "nodeType": "YulIdentifier", + "src": "9519:6:21" + }, + "nativeSrc": "9519:19:21", + "nodeType": "YulFunctionCall", + "src": "9519:19:21" + }, + "nativeSrc": "9519:19:21", + "nodeType": "YulExpressionStatement", + "src": "9519:19:21" + }, + { + "nativeSrc": "9547:29:21", + "nodeType": "YulAssignment", + "src": "9547:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "9566:3:21", + "nodeType": "YulIdentifier", + "src": "9566:3:21" + }, + { + "kind": "number", + "nativeSrc": "9571:4:21", + "nodeType": "YulLiteral", + "src": "9571:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9562:3:21", + "nodeType": "YulIdentifier", + "src": "9562:3:21" + }, + "nativeSrc": "9562:14:21", + "nodeType": "YulFunctionCall", + "src": "9562:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "9547:11:21", + "nodeType": "YulIdentifier", + "src": "9547:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "9414:168:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "9481:3:21", + "nodeType": "YulTypedName", + "src": "9481:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9486:6:21", + "nodeType": "YulTypedName", + "src": "9486:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "9497:11:21", + "nodeType": "YulTypedName", + "src": "9497:11:21", + "type": "" + } + ], + "src": "9414:168:21" + }, + { + "body": { + "nativeSrc": "9650:186:21", + "nodeType": "YulBlock", + "src": "9650:186:21", + "statements": [ + { + "nativeSrc": "9661:10:21", + "nodeType": "YulVariableDeclaration", + "src": "9661:10:21", + "value": { + "kind": "number", + "nativeSrc": "9670:1:21", + "nodeType": "YulLiteral", + "src": "9670:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "9665:1:21", + "nodeType": "YulTypedName", + "src": "9665:1:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9730:63:21", + "nodeType": "YulBlock", + "src": "9730:63:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "9755:3:21", + "nodeType": "YulIdentifier", + "src": "9755:3:21" + }, + { + "name": "i", + "nativeSrc": "9760:1:21", + "nodeType": "YulIdentifier", + "src": "9760:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9751:3:21", + "nodeType": "YulIdentifier", + "src": "9751:3:21" + }, + "nativeSrc": "9751:11:21", + "nodeType": "YulFunctionCall", + "src": "9751:11:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9774:3:21", + "nodeType": "YulIdentifier", + "src": "9774:3:21" + }, + { + "name": "i", + "nativeSrc": "9779:1:21", + "nodeType": "YulIdentifier", + "src": "9779:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9770:3:21", + "nodeType": "YulIdentifier", + "src": "9770:3:21" + }, + "nativeSrc": "9770:11:21", + "nodeType": "YulFunctionCall", + "src": "9770:11:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9764:5:21", + "nodeType": "YulIdentifier", + "src": "9764:5:21" + }, + "nativeSrc": "9764:18:21", + "nodeType": "YulFunctionCall", + "src": "9764:18:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9744:6:21", + "nodeType": "YulIdentifier", + "src": "9744:6:21" + }, + "nativeSrc": "9744:39:21", + "nodeType": "YulFunctionCall", + "src": "9744:39:21" + }, + "nativeSrc": "9744:39:21", + "nodeType": "YulExpressionStatement", + "src": "9744:39:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9691:1:21", + "nodeType": "YulIdentifier", + "src": "9691:1:21" + }, + { + "name": "length", + "nativeSrc": "9694:6:21", + "nodeType": "YulIdentifier", + "src": "9694:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "9688:2:21", + "nodeType": "YulIdentifier", + "src": "9688:2:21" + }, + "nativeSrc": "9688:13:21", + "nodeType": "YulFunctionCall", + "src": "9688:13:21" + }, + "nativeSrc": "9680:113:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "9702:19:21", + "nodeType": "YulBlock", + "src": "9702:19:21", + "statements": [ + { + "nativeSrc": "9704:15:21", + "nodeType": "YulAssignment", + "src": "9704:15:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "9713:1:21", + "nodeType": "YulIdentifier", + "src": "9713:1:21" + }, + { + "kind": "number", + "nativeSrc": "9716:2:21", + "nodeType": "YulLiteral", + "src": "9716:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9709:3:21", + "nodeType": "YulIdentifier", + "src": "9709:3:21" + }, + "nativeSrc": "9709:10:21", + "nodeType": "YulFunctionCall", + "src": "9709:10:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "9704:1:21", + "nodeType": "YulIdentifier", + "src": "9704:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "9684:3:21", + "nodeType": "YulBlock", + "src": "9684:3:21", + "statements": [] + }, + "src": "9680:113:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "9813:3:21", + "nodeType": "YulIdentifier", + "src": "9813:3:21" + }, + { + "name": "length", + "nativeSrc": "9818:6:21", + "nodeType": "YulIdentifier", + "src": "9818:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9809:3:21", + "nodeType": "YulIdentifier", + "src": "9809:3:21" + }, + "nativeSrc": "9809:16:21", + "nodeType": "YulFunctionCall", + "src": "9809:16:21" + }, + { + "kind": "number", + "nativeSrc": "9827:1:21", + "nodeType": "YulLiteral", + "src": "9827:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9802:6:21", + "nodeType": "YulIdentifier", + "src": "9802:6:21" + }, + "nativeSrc": "9802:27:21", + "nodeType": "YulFunctionCall", + "src": "9802:27:21" + }, + "nativeSrc": "9802:27:21", + "nodeType": "YulExpressionStatement", + "src": "9802:27:21" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "9588:248:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "9632:3:21", + "nodeType": "YulTypedName", + "src": "9632:3:21", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "9637:3:21", + "nodeType": "YulTypedName", + "src": "9637:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "9642:6:21", + "nodeType": "YulTypedName", + "src": "9642:6:21", + "type": "" + } + ], + "src": "9588:248:21" + }, + { + "body": { + "nativeSrc": "9932:283:21", + "nodeType": "YulBlock", + "src": "9932:283:21", + "statements": [ + { + "nativeSrc": "9942:52:21", + "nodeType": "YulVariableDeclaration", + "src": "9942:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9988:5:21", + "nodeType": "YulIdentifier", + "src": "9988:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "9956:31:21", + "nodeType": "YulIdentifier", + "src": "9956:31:21" + }, + "nativeSrc": "9956:38:21", + "nodeType": "YulFunctionCall", + "src": "9956:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "9946:6:21", + "nodeType": "YulTypedName", + "src": "9946:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "10003:77:21", + "nodeType": "YulAssignment", + "src": "10003:77:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10068:3:21", + "nodeType": "YulIdentifier", + "src": "10068:3:21" + }, + { + "name": "length", + "nativeSrc": "10073:6:21", + "nodeType": "YulIdentifier", + "src": "10073:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "10010:57:21", + "nodeType": "YulIdentifier", + "src": "10010:57:21" + }, + "nativeSrc": "10010:70:21", + "nodeType": "YulFunctionCall", + "src": "10010:70:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "10003:3:21", + "nodeType": "YulIdentifier", + "src": "10003:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10128:5:21", + "nodeType": "YulIdentifier", + "src": "10128:5:21" + }, + { + "kind": "number", + "nativeSrc": "10135:4:21", + "nodeType": "YulLiteral", + "src": "10135:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10124:3:21", + "nodeType": "YulIdentifier", + "src": "10124:3:21" + }, + "nativeSrc": "10124:16:21", + "nodeType": "YulFunctionCall", + "src": "10124:16:21" + }, + { + "name": "pos", + "nativeSrc": "10142:3:21", + "nodeType": "YulIdentifier", + "src": "10142:3:21" + }, + { + "name": "length", + "nativeSrc": "10147:6:21", + "nodeType": "YulIdentifier", + "src": "10147:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10089:34:21", + "nodeType": "YulIdentifier", + "src": "10089:34:21" + }, + "nativeSrc": "10089:65:21", + "nodeType": "YulFunctionCall", + "src": "10089:65:21" + }, + "nativeSrc": "10089:65:21", + "nodeType": "YulExpressionStatement", + "src": "10089:65:21" + }, + { + "nativeSrc": "10163:46:21", + "nodeType": "YulAssignment", + "src": "10163:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10174:3:21", + "nodeType": "YulIdentifier", + "src": "10174:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "10201:6:21", + "nodeType": "YulIdentifier", + "src": "10201:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "10179:21:21", + "nodeType": "YulIdentifier", + "src": "10179:21:21" + }, + "nativeSrc": "10179:29:21", + "nodeType": "YulFunctionCall", + "src": "10179:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10170:3:21", + "nodeType": "YulIdentifier", + "src": "10170:3:21" + }, + "nativeSrc": "10170:39:21", + "nodeType": "YulFunctionCall", + "src": "10170:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "10163:3:21", + "nodeType": "YulIdentifier", + "src": "10163:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "9842:373:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "9913:5:21", + "nodeType": "YulTypedName", + "src": "9913:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "9920:3:21", + "nodeType": "YulTypedName", + "src": "9920:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "9928:3:21", + "nodeType": "YulTypedName", + "src": "9928:3:21", + "type": "" + } + ], + "src": "9842:373:21" + }, + { + "body": { + "nativeSrc": "10337:193:21", + "nodeType": "YulBlock", + "src": "10337:193:21", + "statements": [ + { + "nativeSrc": "10347:26:21", + "nodeType": "YulAssignment", + "src": "10347:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10359:9:21", + "nodeType": "YulIdentifier", + "src": "10359:9:21" + }, + { + "kind": "number", + "nativeSrc": "10370:2:21", + "nodeType": "YulLiteral", + "src": "10370:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10355:3:21", + "nodeType": "YulIdentifier", + "src": "10355:3:21" + }, + "nativeSrc": "10355:18:21", + "nodeType": "YulFunctionCall", + "src": "10355:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10347:4:21", + "nodeType": "YulIdentifier", + "src": "10347:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10394:9:21", + "nodeType": "YulIdentifier", + "src": "10394:9:21" + }, + { + "kind": "number", + "nativeSrc": "10405:1:21", + "nodeType": "YulLiteral", + "src": "10405:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10390:3:21", + "nodeType": "YulIdentifier", + "src": "10390:3:21" + }, + "nativeSrc": "10390:17:21", + "nodeType": "YulFunctionCall", + "src": "10390:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "10413:4:21", + "nodeType": "YulIdentifier", + "src": "10413:4:21" + }, + { + "name": "headStart", + "nativeSrc": "10419:9:21", + "nodeType": "YulIdentifier", + "src": "10419:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10409:3:21", + "nodeType": "YulIdentifier", + "src": "10409:3:21" + }, + "nativeSrc": "10409:20:21", + "nodeType": "YulFunctionCall", + "src": "10409:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10383:6:21", + "nodeType": "YulIdentifier", + "src": "10383:6:21" + }, + "nativeSrc": "10383:47:21", + "nodeType": "YulFunctionCall", + "src": "10383:47:21" + }, + "nativeSrc": "10383:47:21", + "nodeType": "YulExpressionStatement", + "src": "10383:47:21" + }, + { + "nativeSrc": "10439:84:21", + "nodeType": "YulAssignment", + "src": "10439:84:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10509:6:21", + "nodeType": "YulIdentifier", + "src": "10509:6:21" + }, + { + "name": "tail", + "nativeSrc": "10518:4:21", + "nodeType": "YulIdentifier", + "src": "10518:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "10447:61:21", + "nodeType": "YulIdentifier", + "src": "10447:61:21" + }, + "nativeSrc": "10447:76:21", + "nodeType": "YulFunctionCall", + "src": "10447:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10439:4:21", + "nodeType": "YulIdentifier", + "src": "10439:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "10221:309:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10309:9:21", + "nodeType": "YulTypedName", + "src": "10309:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10321:6:21", + "nodeType": "YulTypedName", + "src": "10321:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10332:4:21", + "nodeType": "YulTypedName", + "src": "10332:4:21", + "type": "" + } + ], + "src": "10221:309:21" + }, + { + "body": { + "nativeSrc": "10617:66:21", + "nodeType": "YulBlock", + "src": "10617:66:21", + "statements": [ + { + "nativeSrc": "10627:50:21", + "nodeType": "YulAssignment", + "src": "10627:50:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10671:5:21", + "nodeType": "YulIdentifier", + "src": "10671:5:21" + } + ], + "functionName": { + "name": "convert_t_uint160_to_t_address", + "nativeSrc": "10640:30:21", + "nodeType": "YulIdentifier", + "src": "10640:30:21" + }, + "nativeSrc": "10640:37:21", + "nodeType": "YulFunctionCall", + "src": "10640:37:21" + }, + "variableNames": [ + { + "name": "converted", + "nativeSrc": "10627:9:21", + "nodeType": "YulIdentifier", + "src": "10627:9:21" + } + ] + } + ] + }, + "name": "convert_t_contract$_INameWrapper_$2401_to_t_address", + "nativeSrc": "10536:147:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10597:5:21", + "nodeType": "YulTypedName", + "src": "10597:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nativeSrc": "10607:9:21", + "nodeType": "YulTypedName", + "src": "10607:9:21", + "type": "" + } + ], + "src": "10536:147:21" + }, + { + "body": { + "nativeSrc": "10775:87:21", + "nodeType": "YulBlock", + "src": "10775:87:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10792:3:21", + "nodeType": "YulIdentifier", + "src": "10792:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10849:5:21", + "nodeType": "YulIdentifier", + "src": "10849:5:21" + } + ], + "functionName": { + "name": "convert_t_contract$_INameWrapper_$2401_to_t_address", + "nativeSrc": "10797:51:21", + "nodeType": "YulIdentifier", + "src": "10797:51:21" + }, + "nativeSrc": "10797:58:21", + "nodeType": "YulFunctionCall", + "src": "10797:58:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10785:6:21", + "nodeType": "YulIdentifier", + "src": "10785:6:21" + }, + "nativeSrc": "10785:71:21", + "nodeType": "YulFunctionCall", + "src": "10785:71:21" + }, + "nativeSrc": "10785:71:21", + "nodeType": "YulExpressionStatement", + "src": "10785:71:21" + } + ] + }, + "name": "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack", + "nativeSrc": "10689:173:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10763:5:21", + "nodeType": "YulTypedName", + "src": "10763:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "10770:3:21", + "nodeType": "YulTypedName", + "src": "10770:3:21", + "type": "" + } + ], + "src": "10689:173:21" + }, + { + "body": { + "nativeSrc": "10987:145:21", + "nodeType": "YulBlock", + "src": "10987:145:21", + "statements": [ + { + "nativeSrc": "10997:26:21", + "nodeType": "YulAssignment", + "src": "10997:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11009:9:21", + "nodeType": "YulIdentifier", + "src": "11009:9:21" + }, + { + "kind": "number", + "nativeSrc": "11020:2:21", + "nodeType": "YulLiteral", + "src": "11020:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11005:3:21", + "nodeType": "YulIdentifier", + "src": "11005:3:21" + }, + "nativeSrc": "11005:18:21", + "nodeType": "YulFunctionCall", + "src": "11005:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10997:4:21", + "nodeType": "YulIdentifier", + "src": "10997:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "11098:6:21", + "nodeType": "YulIdentifier", + "src": "11098:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11111:9:21", + "nodeType": "YulIdentifier", + "src": "11111:9:21" + }, + { + "kind": "number", + "nativeSrc": "11122:1:21", + "nodeType": "YulLiteral", + "src": "11122:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11107:3:21", + "nodeType": "YulIdentifier", + "src": "11107:3:21" + }, + "nativeSrc": "11107:17:21", + "nodeType": "YulFunctionCall", + "src": "11107:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack", + "nativeSrc": "11033:64:21", + "nodeType": "YulIdentifier", + "src": "11033:64:21" + }, + "nativeSrc": "11033:92:21", + "nodeType": "YulFunctionCall", + "src": "11033:92:21" + }, + "nativeSrc": "11033:92:21", + "nodeType": "YulExpressionStatement", + "src": "11033:92:21" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed", + "nativeSrc": "10868:264:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10959:9:21", + "nodeType": "YulTypedName", + "src": "10959:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10971:6:21", + "nodeType": "YulTypedName", + "src": "10971:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10982:4:21", + "nodeType": "YulTypedName", + "src": "10982:4:21", + "type": "" + } + ], + "src": "10868:264:21" + }, + { + "body": { + "nativeSrc": "11181:79:21", + "nodeType": "YulBlock", + "src": "11181:79:21", + "statements": [ + { + "body": { + "nativeSrc": "11238:16:21", + "nodeType": "YulBlock", + "src": "11238:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11247:1:21", + "nodeType": "YulLiteral", + "src": "11247:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "11250:1:21", + "nodeType": "YulLiteral", + "src": "11250:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "11240:6:21", + "nodeType": "YulIdentifier", + "src": "11240:6:21" + }, + "nativeSrc": "11240:12:21", + "nodeType": "YulFunctionCall", + "src": "11240:12:21" + }, + "nativeSrc": "11240:12:21", + "nodeType": "YulExpressionStatement", + "src": "11240:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11204:5:21", + "nodeType": "YulIdentifier", + "src": "11204:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11229:5:21", + "nodeType": "YulIdentifier", + "src": "11229:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "11211:17:21", + "nodeType": "YulIdentifier", + "src": "11211:17:21" + }, + "nativeSrc": "11211:24:21", + "nodeType": "YulFunctionCall", + "src": "11211:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "11201:2:21", + "nodeType": "YulIdentifier", + "src": "11201:2:21" + }, + "nativeSrc": "11201:35:21", + "nodeType": "YulFunctionCall", + "src": "11201:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11194:6:21", + "nodeType": "YulIdentifier", + "src": "11194:6:21" + }, + "nativeSrc": "11194:43:21", + "nodeType": "YulFunctionCall", + "src": "11194:43:21" + }, + "nativeSrc": "11191:63:21", + "nodeType": "YulIf", + "src": "11191:63:21" + } + ] + }, + "name": "validator_revert_t_uint256", + "nativeSrc": "11138:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "11174:5:21", + "nodeType": "YulTypedName", + "src": "11174:5:21", + "type": "" + } + ], + "src": "11138:122:21" + }, + { + "body": { + "nativeSrc": "11318:87:21", + "nodeType": "YulBlock", + "src": "11318:87:21", + "statements": [ + { + "nativeSrc": "11328:29:21", + "nodeType": "YulAssignment", + "src": "11328:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11350:6:21", + "nodeType": "YulIdentifier", + "src": "11350:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "11337:12:21", + "nodeType": "YulIdentifier", + "src": "11337:12:21" + }, + "nativeSrc": "11337:20:21", + "nodeType": "YulFunctionCall", + "src": "11337:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "11328:5:21", + "nodeType": "YulIdentifier", + "src": "11328:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "11393:5:21", + "nodeType": "YulIdentifier", + "src": "11393:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "11366:26:21", + "nodeType": "YulIdentifier", + "src": "11366:26:21" + }, + "nativeSrc": "11366:33:21", + "nodeType": "YulFunctionCall", + "src": "11366:33:21" + }, + "nativeSrc": "11366:33:21", + "nodeType": "YulExpressionStatement", + "src": "11366:33:21" + } + ] + }, + "name": "abi_decode_t_uint256", + "nativeSrc": "11266:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "11296:6:21", + "nodeType": "YulTypedName", + "src": "11296:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "11304:3:21", + "nodeType": "YulTypedName", + "src": "11304:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "11312:5:21", + "nodeType": "YulTypedName", + "src": "11312:5:21", + "type": "" + } + ], + "src": "11266:139:21" + }, + { + "body": { + "nativeSrc": "11513:570:21", + "nodeType": "YulBlock", + "src": "11513:570:21", + "statements": [ + { + "body": { + "nativeSrc": "11559:83:21", + "nodeType": "YulBlock", + "src": "11559:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "11561:77:21", + "nodeType": "YulIdentifier", + "src": "11561:77:21" + }, + "nativeSrc": "11561:79:21", + "nodeType": "YulFunctionCall", + "src": "11561:79:21" + }, + "nativeSrc": "11561:79:21", + "nodeType": "YulExpressionStatement", + "src": "11561:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "11534:7:21", + "nodeType": "YulIdentifier", + "src": "11534:7:21" + }, + { + "name": "headStart", + "nativeSrc": "11543:9:21", + "nodeType": "YulIdentifier", + "src": "11543:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11530:3:21", + "nodeType": "YulIdentifier", + "src": "11530:3:21" + }, + "nativeSrc": "11530:23:21", + "nodeType": "YulFunctionCall", + "src": "11530:23:21" + }, + { + "kind": "number", + "nativeSrc": "11555:2:21", + "nodeType": "YulLiteral", + "src": "11555:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "11526:3:21", + "nodeType": "YulIdentifier", + "src": "11526:3:21" + }, + "nativeSrc": "11526:32:21", + "nodeType": "YulFunctionCall", + "src": "11526:32:21" + }, + "nativeSrc": "11523:119:21", + "nodeType": "YulIf", + "src": "11523:119:21" + }, + { + "nativeSrc": "11652:296:21", + "nodeType": "YulBlock", + "src": "11652:296:21", + "statements": [ + { + "nativeSrc": "11667:45:21", + "nodeType": "YulVariableDeclaration", + "src": "11667:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11698:9:21", + "nodeType": "YulIdentifier", + "src": "11698:9:21" + }, + { + "kind": "number", + "nativeSrc": "11709:1:21", + "nodeType": "YulLiteral", + "src": "11709:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11694:3:21", + "nodeType": "YulIdentifier", + "src": "11694:3:21" + }, + "nativeSrc": "11694:17:21", + "nodeType": "YulFunctionCall", + "src": "11694:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "11681:12:21", + "nodeType": "YulIdentifier", + "src": "11681:12:21" + }, + "nativeSrc": "11681:31:21", + "nodeType": "YulFunctionCall", + "src": "11681:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11671:6:21", + "nodeType": "YulTypedName", + "src": "11671:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11759:83:21", + "nodeType": "YulBlock", + "src": "11759:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "11761:77:21", + "nodeType": "YulIdentifier", + "src": "11761:77:21" + }, + "nativeSrc": "11761:79:21", + "nodeType": "YulFunctionCall", + "src": "11761:79:21" + }, + "nativeSrc": "11761:79:21", + "nodeType": "YulExpressionStatement", + "src": "11761:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "11731:6:21", + "nodeType": "YulIdentifier", + "src": "11731:6:21" + }, + { + "kind": "number", + "nativeSrc": "11739:18:21", + "nodeType": "YulLiteral", + "src": "11739:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "11728:2:21", + "nodeType": "YulIdentifier", + "src": "11728:2:21" + }, + "nativeSrc": "11728:30:21", + "nodeType": "YulFunctionCall", + "src": "11728:30:21" + }, + "nativeSrc": "11725:117:21", + "nodeType": "YulIf", + "src": "11725:117:21" + }, + { + "nativeSrc": "11856:82:21", + "nodeType": "YulAssignment", + "src": "11856:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11910:9:21", + "nodeType": "YulIdentifier", + "src": "11910:9:21" + }, + { + "name": "offset", + "nativeSrc": "11921:6:21", + "nodeType": "YulIdentifier", + "src": "11921:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11906:3:21", + "nodeType": "YulIdentifier", + "src": "11906:3:21" + }, + "nativeSrc": "11906:22:21", + "nodeType": "YulFunctionCall", + "src": "11906:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "11930:7:21", + "nodeType": "YulIdentifier", + "src": "11930:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "11874:31:21", + "nodeType": "YulIdentifier", + "src": "11874:31:21" + }, + "nativeSrc": "11874:64:21", + "nodeType": "YulFunctionCall", + "src": "11874:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11856:6:21", + "nodeType": "YulIdentifier", + "src": "11856:6:21" + }, + { + "name": "value1", + "nativeSrc": "11864:6:21", + "nodeType": "YulIdentifier", + "src": "11864:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "11958:118:21", + "nodeType": "YulBlock", + "src": "11958:118:21", + "statements": [ + { + "nativeSrc": "11973:16:21", + "nodeType": "YulVariableDeclaration", + "src": "11973:16:21", + "value": { + "kind": "number", + "nativeSrc": "11987:2:21", + "nodeType": "YulLiteral", + "src": "11987:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "11977:6:21", + "nodeType": "YulTypedName", + "src": "11977:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "12003:63:21", + "nodeType": "YulAssignment", + "src": "12003:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12038:9:21", + "nodeType": "YulIdentifier", + "src": "12038:9:21" + }, + { + "name": "offset", + "nativeSrc": "12049:6:21", + "nodeType": "YulIdentifier", + "src": "12049:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12034:3:21", + "nodeType": "YulIdentifier", + "src": "12034:3:21" + }, + "nativeSrc": "12034:22:21", + "nodeType": "YulFunctionCall", + "src": "12034:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "12058:7:21", + "nodeType": "YulIdentifier", + "src": "12058:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nativeSrc": "12013:20:21", + "nodeType": "YulIdentifier", + "src": "12013:20:21" + }, + "nativeSrc": "12013:53:21", + "nodeType": "YulFunctionCall", + "src": "12013:53:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "12003:6:21", + "nodeType": "YulIdentifier", + "src": "12003:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_uint256", + "nativeSrc": "11411:672:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11467:9:21", + "nodeType": "YulTypedName", + "src": "11467:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "11478:7:21", + "nodeType": "YulTypedName", + "src": "11478:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "11490:6:21", + "nodeType": "YulTypedName", + "src": "11490:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "11498:6:21", + "nodeType": "YulTypedName", + "src": "11498:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "11506:6:21", + "nodeType": "YulTypedName", + "src": "11506:6:21", + "type": "" + } + ], + "src": "11411:672:21" + }, + { + "body": { + "nativeSrc": "12132:79:21", + "nodeType": "YulBlock", + "src": "12132:79:21", + "statements": [ + { + "body": { + "nativeSrc": "12189:16:21", + "nodeType": "YulBlock", + "src": "12189:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12198:1:21", + "nodeType": "YulLiteral", + "src": "12198:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12201:1:21", + "nodeType": "YulLiteral", + "src": "12201:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12191:6:21", + "nodeType": "YulIdentifier", + "src": "12191:6:21" + }, + "nativeSrc": "12191:12:21", + "nodeType": "YulFunctionCall", + "src": "12191:12:21" + }, + "nativeSrc": "12191:12:21", + "nodeType": "YulExpressionStatement", + "src": "12191:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12155:5:21", + "nodeType": "YulIdentifier", + "src": "12155:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12180:5:21", + "nodeType": "YulIdentifier", + "src": "12180:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "12162:17:21", + "nodeType": "YulIdentifier", + "src": "12162:17:21" + }, + "nativeSrc": "12162:24:21", + "nodeType": "YulFunctionCall", + "src": "12162:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12152:2:21", + "nodeType": "YulIdentifier", + "src": "12152:2:21" + }, + "nativeSrc": "12152:35:21", + "nodeType": "YulFunctionCall", + "src": "12152:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12145:6:21", + "nodeType": "YulIdentifier", + "src": "12145:6:21" + }, + "nativeSrc": "12145:43:21", + "nodeType": "YulFunctionCall", + "src": "12145:43:21" + }, + "nativeSrc": "12142:63:21", + "nodeType": "YulIf", + "src": "12142:63:21" + } + ] + }, + "name": "validator_revert_t_address", + "nativeSrc": "12089:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "12125:5:21", + "nodeType": "YulTypedName", + "src": "12125:5:21", + "type": "" + } + ], + "src": "12089:122:21" + }, + { + "body": { + "nativeSrc": "12269:87:21", + "nodeType": "YulBlock", + "src": "12269:87:21", + "statements": [ + { + "nativeSrc": "12279:29:21", + "nodeType": "YulAssignment", + "src": "12279:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12301:6:21", + "nodeType": "YulIdentifier", + "src": "12301:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12288:12:21", + "nodeType": "YulIdentifier", + "src": "12288:12:21" + }, + "nativeSrc": "12288:20:21", + "nodeType": "YulFunctionCall", + "src": "12288:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "12279:5:21", + "nodeType": "YulIdentifier", + "src": "12279:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "12344:5:21", + "nodeType": "YulIdentifier", + "src": "12344:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "12317:26:21", + "nodeType": "YulIdentifier", + "src": "12317:26:21" + }, + "nativeSrc": "12317:33:21", + "nodeType": "YulFunctionCall", + "src": "12317:33:21" + }, + "nativeSrc": "12317:33:21", + "nodeType": "YulExpressionStatement", + "src": "12317:33:21" + } + ] + }, + "name": "abi_decode_t_address", + "nativeSrc": "12217:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "12247:6:21", + "nodeType": "YulTypedName", + "src": "12247:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "12255:3:21", + "nodeType": "YulTypedName", + "src": "12255:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "12263:5:21", + "nodeType": "YulTypedName", + "src": "12263:5:21", + "type": "" + } + ], + "src": "12217:139:21" + }, + { + "body": { + "nativeSrc": "12464:570:21", + "nodeType": "YulBlock", + "src": "12464:570:21", + "statements": [ + { + "body": { + "nativeSrc": "12510:83:21", + "nodeType": "YulBlock", + "src": "12510:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "12512:77:21", + "nodeType": "YulIdentifier", + "src": "12512:77:21" + }, + "nativeSrc": "12512:79:21", + "nodeType": "YulFunctionCall", + "src": "12512:79:21" + }, + "nativeSrc": "12512:79:21", + "nodeType": "YulExpressionStatement", + "src": "12512:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "12485:7:21", + "nodeType": "YulIdentifier", + "src": "12485:7:21" + }, + { + "name": "headStart", + "nativeSrc": "12494:9:21", + "nodeType": "YulIdentifier", + "src": "12494:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12481:3:21", + "nodeType": "YulIdentifier", + "src": "12481:3:21" + }, + "nativeSrc": "12481:23:21", + "nodeType": "YulFunctionCall", + "src": "12481:23:21" + }, + { + "kind": "number", + "nativeSrc": "12506:2:21", + "nodeType": "YulLiteral", + "src": "12506:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12477:3:21", + "nodeType": "YulIdentifier", + "src": "12477:3:21" + }, + "nativeSrc": "12477:32:21", + "nodeType": "YulFunctionCall", + "src": "12477:32:21" + }, + "nativeSrc": "12474:119:21", + "nodeType": "YulIf", + "src": "12474:119:21" + }, + { + "nativeSrc": "12603:296:21", + "nodeType": "YulBlock", + "src": "12603:296:21", + "statements": [ + { + "nativeSrc": "12618:45:21", + "nodeType": "YulVariableDeclaration", + "src": "12618:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12649:9:21", + "nodeType": "YulIdentifier", + "src": "12649:9:21" + }, + { + "kind": "number", + "nativeSrc": "12660:1:21", + "nodeType": "YulLiteral", + "src": "12660:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12645:3:21", + "nodeType": "YulIdentifier", + "src": "12645:3:21" + }, + "nativeSrc": "12645:17:21", + "nodeType": "YulFunctionCall", + "src": "12645:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "12632:12:21", + "nodeType": "YulIdentifier", + "src": "12632:12:21" + }, + "nativeSrc": "12632:31:21", + "nodeType": "YulFunctionCall", + "src": "12632:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12622:6:21", + "nodeType": "YulTypedName", + "src": "12622:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12710:83:21", + "nodeType": "YulBlock", + "src": "12710:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "12712:77:21", + "nodeType": "YulIdentifier", + "src": "12712:77:21" + }, + "nativeSrc": "12712:79:21", + "nodeType": "YulFunctionCall", + "src": "12712:79:21" + }, + "nativeSrc": "12712:79:21", + "nodeType": "YulExpressionStatement", + "src": "12712:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12682:6:21", + "nodeType": "YulIdentifier", + "src": "12682:6:21" + }, + { + "kind": "number", + "nativeSrc": "12690:18:21", + "nodeType": "YulLiteral", + "src": "12690:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12679:2:21", + "nodeType": "YulIdentifier", + "src": "12679:2:21" + }, + "nativeSrc": "12679:30:21", + "nodeType": "YulFunctionCall", + "src": "12679:30:21" + }, + "nativeSrc": "12676:117:21", + "nodeType": "YulIf", + "src": "12676:117:21" + }, + { + "nativeSrc": "12807:82:21", + "nodeType": "YulAssignment", + "src": "12807:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12861:9:21", + "nodeType": "YulIdentifier", + "src": "12861:9:21" + }, + { + "name": "offset", + "nativeSrc": "12872:6:21", + "nodeType": "YulIdentifier", + "src": "12872:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12857:3:21", + "nodeType": "YulIdentifier", + "src": "12857:3:21" + }, + "nativeSrc": "12857:22:21", + "nodeType": "YulFunctionCall", + "src": "12857:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "12881:7:21", + "nodeType": "YulIdentifier", + "src": "12881:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nativeSrc": "12825:31:21", + "nodeType": "YulIdentifier", + "src": "12825:31:21" + }, + "nativeSrc": "12825:64:21", + "nodeType": "YulFunctionCall", + "src": "12825:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "12807:6:21", + "nodeType": "YulIdentifier", + "src": "12807:6:21" + }, + { + "name": "value1", + "nativeSrc": "12815:6:21", + "nodeType": "YulIdentifier", + "src": "12815:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "12909:118:21", + "nodeType": "YulBlock", + "src": "12909:118:21", + "statements": [ + { + "nativeSrc": "12924:16:21", + "nodeType": "YulVariableDeclaration", + "src": "12924:16:21", + "value": { + "kind": "number", + "nativeSrc": "12938:2:21", + "nodeType": "YulLiteral", + "src": "12938:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "12928:6:21", + "nodeType": "YulTypedName", + "src": "12928:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "12954:63:21", + "nodeType": "YulAssignment", + "src": "12954:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12989:9:21", + "nodeType": "YulIdentifier", + "src": "12989:9:21" + }, + { + "name": "offset", + "nativeSrc": "13000:6:21", + "nodeType": "YulIdentifier", + "src": "13000:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12985:3:21", + "nodeType": "YulIdentifier", + "src": "12985:3:21" + }, + "nativeSrc": "12985:22:21", + "nodeType": "YulFunctionCall", + "src": "12985:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "13009:7:21", + "nodeType": "YulIdentifier", + "src": "13009:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nativeSrc": "12964:20:21", + "nodeType": "YulIdentifier", + "src": "12964:20:21" + }, + "nativeSrc": "12964:53:21", + "nodeType": "YulFunctionCall", + "src": "12964:53:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "12954:6:21", + "nodeType": "YulIdentifier", + "src": "12954:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_address", + "nativeSrc": "12362:672:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12418:9:21", + "nodeType": "YulTypedName", + "src": "12418:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "12429:7:21", + "nodeType": "YulTypedName", + "src": "12429:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "12441:6:21", + "nodeType": "YulTypedName", + "src": "12441:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "12449:6:21", + "nodeType": "YulTypedName", + "src": "12449:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "12457:6:21", + "nodeType": "YulTypedName", + "src": "12457:6:21", + "type": "" + } + ], + "src": "12362:672:21" + }, + { + "body": { + "nativeSrc": "13131:229:21", + "nodeType": "YulBlock", + "src": "13131:229:21", + "statements": [ + { + "body": { + "nativeSrc": "13236:22:21", + "nodeType": "YulBlock", + "src": "13236:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "13238:16:21", + "nodeType": "YulIdentifier", + "src": "13238:16:21" + }, + "nativeSrc": "13238:18:21", + "nodeType": "YulFunctionCall", + "src": "13238:18:21" + }, + "nativeSrc": "13238:18:21", + "nodeType": "YulExpressionStatement", + "src": "13238:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13208:6:21", + "nodeType": "YulIdentifier", + "src": "13208:6:21" + }, + { + "kind": "number", + "nativeSrc": "13216:18:21", + "nodeType": "YulLiteral", + "src": "13216:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13205:2:21", + "nodeType": "YulIdentifier", + "src": "13205:2:21" + }, + "nativeSrc": "13205:30:21", + "nodeType": "YulFunctionCall", + "src": "13205:30:21" + }, + "nativeSrc": "13202:56:21", + "nodeType": "YulIf", + "src": "13202:56:21" + }, + { + "nativeSrc": "13268:25:21", + "nodeType": "YulAssignment", + "src": "13268:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "13280:6:21", + "nodeType": "YulIdentifier", + "src": "13280:6:21" + }, + { + "kind": "number", + "nativeSrc": "13288:4:21", + "nodeType": "YulLiteral", + "src": "13288:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13276:3:21", + "nodeType": "YulIdentifier", + "src": "13276:3:21" + }, + "nativeSrc": "13276:17:21", + "nodeType": "YulFunctionCall", + "src": "13276:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13268:4:21", + "nodeType": "YulIdentifier", + "src": "13268:4:21" + } + ] + }, + { + "nativeSrc": "13330:23:21", + "nodeType": "YulAssignment", + "src": "13330:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "13342:4:21", + "nodeType": "YulIdentifier", + "src": "13342:4:21" + }, + { + "kind": "number", + "nativeSrc": "13348:4:21", + "nodeType": "YulLiteral", + "src": "13348:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13338:3:21", + "nodeType": "YulIdentifier", + "src": "13338:3:21" + }, + "nativeSrc": "13338:15:21", + "nodeType": "YulFunctionCall", + "src": "13338:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "13330:4:21", + "nodeType": "YulIdentifier", + "src": "13330:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13040:320:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "13115:6:21", + "nodeType": "YulTypedName", + "src": "13115:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "13126:4:21", + "nodeType": "YulTypedName", + "src": "13126:4:21", + "type": "" + } + ], + "src": "13040:320:21" + }, + { + "body": { + "nativeSrc": "13492:831:21", + "nodeType": "YulBlock", + "src": "13492:831:21", + "statements": [ + { + "nativeSrc": "13502:99:21", + "nodeType": "YulAssignment", + "src": "13502:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13593:6:21", + "nodeType": "YulIdentifier", + "src": "13593:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13527:65:21", + "nodeType": "YulIdentifier", + "src": "13527:65:21" + }, + "nativeSrc": "13527:73:21", + "nodeType": "YulFunctionCall", + "src": "13527:73:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "13511:15:21", + "nodeType": "YulIdentifier", + "src": "13511:15:21" + }, + "nativeSrc": "13511:90:21", + "nodeType": "YulFunctionCall", + "src": "13511:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13502:5:21", + "nodeType": "YulIdentifier", + "src": "13502:5:21" + } + ] + }, + { + "nativeSrc": "13610:16:21", + "nodeType": "YulVariableDeclaration", + "src": "13610:16:21", + "value": { + "name": "array", + "nativeSrc": "13621:5:21", + "nodeType": "YulIdentifier", + "src": "13621:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "13614:3:21", + "nodeType": "YulTypedName", + "src": "13614:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13643:5:21", + "nodeType": "YulIdentifier", + "src": "13643:5:21" + }, + { + "name": "length", + "nativeSrc": "13650:6:21", + "nodeType": "YulIdentifier", + "src": "13650:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13636:6:21", + "nodeType": "YulIdentifier", + "src": "13636:6:21" + }, + "nativeSrc": "13636:21:21", + "nodeType": "YulFunctionCall", + "src": "13636:21:21" + }, + "nativeSrc": "13636:21:21", + "nodeType": "YulExpressionStatement", + "src": "13636:21:21" + }, + { + "nativeSrc": "13666:23:21", + "nodeType": "YulAssignment", + "src": "13666:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "13677:5:21", + "nodeType": "YulIdentifier", + "src": "13677:5:21" + }, + { + "kind": "number", + "nativeSrc": "13684:4:21", + "nodeType": "YulLiteral", + "src": "13684:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13673:3:21", + "nodeType": "YulIdentifier", + "src": "13673:3:21" + }, + "nativeSrc": "13673:16:21", + "nodeType": "YulFunctionCall", + "src": "13673:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "13666:3:21", + "nodeType": "YulIdentifier", + "src": "13666:3:21" + } + ] + }, + { + "nativeSrc": "13699:44:21", + "nodeType": "YulVariableDeclaration", + "src": "13699:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13717:6:21", + "nodeType": "YulIdentifier", + "src": "13717:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "13729:6:21", + "nodeType": "YulIdentifier", + "src": "13729:6:21" + }, + { + "kind": "number", + "nativeSrc": "13737:4:21", + "nodeType": "YulLiteral", + "src": "13737:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "13725:3:21", + "nodeType": "YulIdentifier", + "src": "13725:3:21" + }, + "nativeSrc": "13725:17:21", + "nodeType": "YulFunctionCall", + "src": "13725:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13713:3:21", + "nodeType": "YulIdentifier", + "src": "13713:3:21" + }, + "nativeSrc": "13713:30:21", + "nodeType": "YulFunctionCall", + "src": "13713:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "13703:6:21", + "nodeType": "YulTypedName", + "src": "13703:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13771:103:21", + "nodeType": "YulBlock", + "src": "13771:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "13785:77:21", + "nodeType": "YulIdentifier", + "src": "13785:77:21" + }, + "nativeSrc": "13785:79:21", + "nodeType": "YulFunctionCall", + "src": "13785:79:21" + }, + "nativeSrc": "13785:79:21", + "nodeType": "YulExpressionStatement", + "src": "13785:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "13758:6:21", + "nodeType": "YulIdentifier", + "src": "13758:6:21" + }, + { + "name": "end", + "nativeSrc": "13766:3:21", + "nodeType": "YulIdentifier", + "src": "13766:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13755:2:21", + "nodeType": "YulIdentifier", + "src": "13755:2:21" + }, + "nativeSrc": "13755:15:21", + "nodeType": "YulFunctionCall", + "src": "13755:15:21" + }, + "nativeSrc": "13752:122:21", + "nodeType": "YulIf", + "src": "13752:122:21" + }, + { + "body": { + "nativeSrc": "13959:358:21", + "nodeType": "YulBlock", + "src": "13959:358:21", + "statements": [ + { + "nativeSrc": "13974:36:21", + "nodeType": "YulVariableDeclaration", + "src": "13974:36:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "14006:3:21", + "nodeType": "YulIdentifier", + "src": "14006:3:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "13993:12:21", + "nodeType": "YulIdentifier", + "src": "13993:12:21" + }, + "nativeSrc": "13993:17:21", + "nodeType": "YulFunctionCall", + "src": "13993:17:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "13978:11:21", + "nodeType": "YulTypedName", + "src": "13978:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14062:83:21", + "nodeType": "YulBlock", + "src": "14062:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "14064:77:21", + "nodeType": "YulIdentifier", + "src": "14064:77:21" + }, + "nativeSrc": "14064:79:21", + "nodeType": "YulFunctionCall", + "src": "14064:79:21" + }, + "nativeSrc": "14064:79:21", + "nodeType": "YulExpressionStatement", + "src": "14064:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "14029:11:21", + "nodeType": "YulIdentifier", + "src": "14029:11:21" + }, + { + "kind": "number", + "nativeSrc": "14042:18:21", + "nodeType": "YulLiteral", + "src": "14042:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14026:2:21", + "nodeType": "YulIdentifier", + "src": "14026:2:21" + }, + "nativeSrc": "14026:35:21", + "nodeType": "YulFunctionCall", + "src": "14026:35:21" + }, + "nativeSrc": "14023:122:21", + "nodeType": "YulIf", + "src": "14023:122:21" + }, + { + "nativeSrc": "14158:42:21", + "nodeType": "YulVariableDeclaration", + "src": "14158:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14180:6:21", + "nodeType": "YulIdentifier", + "src": "14180:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "14188:11:21", + "nodeType": "YulIdentifier", + "src": "14188:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14176:3:21", + "nodeType": "YulIdentifier", + "src": "14176:3:21" + }, + "nativeSrc": "14176:24:21", + "nodeType": "YulFunctionCall", + "src": "14176:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "14162:10:21", + "nodeType": "YulTypedName", + "src": "14162:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14221:3:21", + "nodeType": "YulIdentifier", + "src": "14221:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "14256:10:21", + "nodeType": "YulIdentifier", + "src": "14256:10:21" + }, + { + "name": "end", + "nativeSrc": "14268:3:21", + "nodeType": "YulIdentifier", + "src": "14268:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "14226:29:21", + "nodeType": "YulIdentifier", + "src": "14226:29:21" + }, + "nativeSrc": "14226:46:21", + "nodeType": "YulFunctionCall", + "src": "14226:46:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14214:6:21", + "nodeType": "YulIdentifier", + "src": "14214:6:21" + }, + "nativeSrc": "14214:59:21", + "nodeType": "YulFunctionCall", + "src": "14214:59:21" + }, + "nativeSrc": "14214:59:21", + "nodeType": "YulExpressionStatement", + "src": "14214:59:21" + }, + { + "nativeSrc": "14286:21:21", + "nodeType": "YulAssignment", + "src": "14286:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "14297:3:21", + "nodeType": "YulIdentifier", + "src": "14297:3:21" + }, + { + "kind": "number", + "nativeSrc": "14302:4:21", + "nodeType": "YulLiteral", + "src": "14302:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14293:3:21", + "nodeType": "YulIdentifier", + "src": "14293:3:21" + }, + "nativeSrc": "14293:14:21", + "nodeType": "YulFunctionCall", + "src": "14293:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "14286:3:21", + "nodeType": "YulIdentifier", + "src": "14286:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13912:3:21", + "nodeType": "YulIdentifier", + "src": "13912:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "13917:6:21", + "nodeType": "YulIdentifier", + "src": "13917:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "13909:2:21", + "nodeType": "YulIdentifier", + "src": "13909:2:21" + }, + "nativeSrc": "13909:15:21", + "nodeType": "YulFunctionCall", + "src": "13909:15:21" + }, + "nativeSrc": "13883:434:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "13925:25:21", + "nodeType": "YulBlock", + "src": "13925:25:21", + "statements": [ + { + "nativeSrc": "13927:21:21", + "nodeType": "YulAssignment", + "src": "13927:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13938:3:21", + "nodeType": "YulIdentifier", + "src": "13938:3:21" + }, + { + "kind": "number", + "nativeSrc": "13943:4:21", + "nodeType": "YulLiteral", + "src": "13943:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13934:3:21", + "nodeType": "YulIdentifier", + "src": "13934:3:21" + }, + "nativeSrc": "13934:14:21", + "nodeType": "YulFunctionCall", + "src": "13934:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "13927:3:21", + "nodeType": "YulIdentifier", + "src": "13927:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "13887:21:21", + "nodeType": "YulBlock", + "src": "13887:21:21", + "statements": [ + { + "nativeSrc": "13889:17:21", + "nodeType": "YulVariableDeclaration", + "src": "13889:17:21", + "value": { + "name": "offset", + "nativeSrc": "13900:6:21", + "nodeType": "YulIdentifier", + "src": "13900:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "13893:3:21", + "nodeType": "YulTypedName", + "src": "13893:3:21", + "type": "" + } + ] + } + ] + }, + "src": "13883:434:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "13381:942:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13462:6:21", + "nodeType": "YulTypedName", + "src": "13462:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "13470:6:21", + "nodeType": "YulTypedName", + "src": "13470:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13478:3:21", + "nodeType": "YulTypedName", + "src": "13478:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13486:5:21", + "nodeType": "YulTypedName", + "src": "13486:5:21", + "type": "" + } + ], + "src": "13381:942:21" + }, + { + "body": { + "nativeSrc": "14430:302:21", + "nodeType": "YulBlock", + "src": "14430:302:21", + "statements": [ + { + "body": { + "nativeSrc": "14479:83:21", + "nodeType": "YulBlock", + "src": "14479:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "14481:77:21", + "nodeType": "YulIdentifier", + "src": "14481:77:21" + }, + "nativeSrc": "14481:79:21", + "nodeType": "YulFunctionCall", + "src": "14481:79:21" + }, + "nativeSrc": "14481:79:21", + "nodeType": "YulExpressionStatement", + "src": "14481:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14458:6:21", + "nodeType": "YulIdentifier", + "src": "14458:6:21" + }, + { + "kind": "number", + "nativeSrc": "14466:4:21", + "nodeType": "YulLiteral", + "src": "14466:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14454:3:21", + "nodeType": "YulIdentifier", + "src": "14454:3:21" + }, + "nativeSrc": "14454:17:21", + "nodeType": "YulFunctionCall", + "src": "14454:17:21" + }, + { + "name": "end", + "nativeSrc": "14473:3:21", + "nodeType": "YulIdentifier", + "src": "14473:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14450:3:21", + "nodeType": "YulIdentifier", + "src": "14450:3:21" + }, + "nativeSrc": "14450:27:21", + "nodeType": "YulFunctionCall", + "src": "14450:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "14443:6:21", + "nodeType": "YulIdentifier", + "src": "14443:6:21" + }, + "nativeSrc": "14443:35:21", + "nodeType": "YulFunctionCall", + "src": "14443:35:21" + }, + "nativeSrc": "14440:122:21", + "nodeType": "YulIf", + "src": "14440:122:21" + }, + { + "nativeSrc": "14571:34:21", + "nodeType": "YulVariableDeclaration", + "src": "14571:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14598:6:21", + "nodeType": "YulIdentifier", + "src": "14598:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "14585:12:21", + "nodeType": "YulIdentifier", + "src": "14585:12:21" + }, + "nativeSrc": "14585:20:21", + "nodeType": "YulFunctionCall", + "src": "14585:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "14575:6:21", + "nodeType": "YulTypedName", + "src": "14575:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "14614:112:21", + "nodeType": "YulAssignment", + "src": "14614:112:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14699:6:21", + "nodeType": "YulIdentifier", + "src": "14699:6:21" + }, + { + "kind": "number", + "nativeSrc": "14707:4:21", + "nodeType": "YulLiteral", + "src": "14707:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14695:3:21", + "nodeType": "YulIdentifier", + "src": "14695:3:21" + }, + "nativeSrc": "14695:17:21", + "nodeType": "YulFunctionCall", + "src": "14695:17:21" + }, + { + "name": "length", + "nativeSrc": "14714:6:21", + "nodeType": "YulIdentifier", + "src": "14714:6:21" + }, + { + "name": "end", + "nativeSrc": "14722:3:21", + "nodeType": "YulIdentifier", + "src": "14722:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "14623:71:21", + "nodeType": "YulIdentifier", + "src": "14623:71:21" + }, + "nativeSrc": "14623:103:21", + "nodeType": "YulFunctionCall", + "src": "14623:103:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "14614:5:21", + "nodeType": "YulIdentifier", + "src": "14614:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "14344:388:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "14408:6:21", + "nodeType": "YulTypedName", + "src": "14408:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "14416:3:21", + "nodeType": "YulTypedName", + "src": "14416:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "14424:5:21", + "nodeType": "YulTypedName", + "src": "14424:5:21", + "type": "" + } + ], + "src": "14344:388:21" + }, + { + "body": { + "nativeSrc": "14864:754:21", + "nodeType": "YulBlock", + "src": "14864:754:21", + "statements": [ + { + "body": { + "nativeSrc": "14910:83:21", + "nodeType": "YulBlock", + "src": "14910:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "14912:77:21", + "nodeType": "YulIdentifier", + "src": "14912:77:21" + }, + "nativeSrc": "14912:79:21", + "nodeType": "YulFunctionCall", + "src": "14912:79:21" + }, + "nativeSrc": "14912:79:21", + "nodeType": "YulExpressionStatement", + "src": "14912:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14885:7:21", + "nodeType": "YulIdentifier", + "src": "14885:7:21" + }, + { + "name": "headStart", + "nativeSrc": "14894:9:21", + "nodeType": "YulIdentifier", + "src": "14894:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14881:3:21", + "nodeType": "YulIdentifier", + "src": "14881:3:21" + }, + "nativeSrc": "14881:23:21", + "nodeType": "YulFunctionCall", + "src": "14881:23:21" + }, + { + "kind": "number", + "nativeSrc": "14906:2:21", + "nodeType": "YulLiteral", + "src": "14906:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14877:3:21", + "nodeType": "YulIdentifier", + "src": "14877:3:21" + }, + "nativeSrc": "14877:32:21", + "nodeType": "YulFunctionCall", + "src": "14877:32:21" + }, + "nativeSrc": "14874:119:21", + "nodeType": "YulIf", + "src": "14874:119:21" + }, + { + "nativeSrc": "15003:311:21", + "nodeType": "YulBlock", + "src": "15003:311:21", + "statements": [ + { + "nativeSrc": "15018:45:21", + "nodeType": "YulVariableDeclaration", + "src": "15018:45:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15049:9:21", + "nodeType": "YulIdentifier", + "src": "15049:9:21" + }, + { + "kind": "number", + "nativeSrc": "15060:1:21", + "nodeType": "YulLiteral", + "src": "15060:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15045:3:21", + "nodeType": "YulIdentifier", + "src": "15045:3:21" + }, + "nativeSrc": "15045:17:21", + "nodeType": "YulFunctionCall", + "src": "15045:17:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15032:12:21", + "nodeType": "YulIdentifier", + "src": "15032:12:21" + }, + "nativeSrc": "15032:31:21", + "nodeType": "YulFunctionCall", + "src": "15032:31:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15022:6:21", + "nodeType": "YulTypedName", + "src": "15022:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15110:83:21", + "nodeType": "YulBlock", + "src": "15110:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "15112:77:21", + "nodeType": "YulIdentifier", + "src": "15112:77:21" + }, + "nativeSrc": "15112:79:21", + "nodeType": "YulFunctionCall", + "src": "15112:79:21" + }, + "nativeSrc": "15112:79:21", + "nodeType": "YulExpressionStatement", + "src": "15112:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15082:6:21", + "nodeType": "YulIdentifier", + "src": "15082:6:21" + }, + { + "kind": "number", + "nativeSrc": "15090:18:21", + "nodeType": "YulLiteral", + "src": "15090:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15079:2:21", + "nodeType": "YulIdentifier", + "src": "15079:2:21" + }, + "nativeSrc": "15079:30:21", + "nodeType": "YulFunctionCall", + "src": "15079:30:21" + }, + "nativeSrc": "15076:117:21", + "nodeType": "YulIf", + "src": "15076:117:21" + }, + { + "nativeSrc": "15207:97:21", + "nodeType": "YulAssignment", + "src": "15207:97:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15276:9:21", + "nodeType": "YulIdentifier", + "src": "15276:9:21" + }, + { + "name": "offset", + "nativeSrc": "15287:6:21", + "nodeType": "YulIdentifier", + "src": "15287:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15272:3:21", + "nodeType": "YulIdentifier", + "src": "15272:3:21" + }, + "nativeSrc": "15272:22:21", + "nodeType": "YulFunctionCall", + "src": "15272:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "15296:7:21", + "nodeType": "YulIdentifier", + "src": "15296:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "15217:54:21", + "nodeType": "YulIdentifier", + "src": "15217:54:21" + }, + "nativeSrc": "15217:87:21", + "nodeType": "YulFunctionCall", + "src": "15217:87:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "15207:6:21", + "nodeType": "YulIdentifier", + "src": "15207:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "15324:287:21", + "nodeType": "YulBlock", + "src": "15324:287:21", + "statements": [ + { + "nativeSrc": "15339:46:21", + "nodeType": "YulVariableDeclaration", + "src": "15339:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15370:9:21", + "nodeType": "YulIdentifier", + "src": "15370:9:21" + }, + { + "kind": "number", + "nativeSrc": "15381:2:21", + "nodeType": "YulLiteral", + "src": "15381:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15366:3:21", + "nodeType": "YulIdentifier", + "src": "15366:3:21" + }, + "nativeSrc": "15366:18:21", + "nodeType": "YulFunctionCall", + "src": "15366:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "15353:12:21", + "nodeType": "YulIdentifier", + "src": "15353:12:21" + }, + "nativeSrc": "15353:32:21", + "nodeType": "YulFunctionCall", + "src": "15353:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "15343:6:21", + "nodeType": "YulTypedName", + "src": "15343:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "15432:83:21", + "nodeType": "YulBlock", + "src": "15432:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "15434:77:21", + "nodeType": "YulIdentifier", + "src": "15434:77:21" + }, + "nativeSrc": "15434:79:21", + "nodeType": "YulFunctionCall", + "src": "15434:79:21" + }, + "nativeSrc": "15434:79:21", + "nodeType": "YulExpressionStatement", + "src": "15434:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "15404:6:21", + "nodeType": "YulIdentifier", + "src": "15404:6:21" + }, + { + "kind": "number", + "nativeSrc": "15412:18:21", + "nodeType": "YulLiteral", + "src": "15412:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "15401:2:21", + "nodeType": "YulIdentifier", + "src": "15401:2:21" + }, + "nativeSrc": "15401:30:21", + "nodeType": "YulFunctionCall", + "src": "15401:30:21" + }, + "nativeSrc": "15398:117:21", + "nodeType": "YulIf", + "src": "15398:117:21" + }, + { + "nativeSrc": "15529:72:21", + "nodeType": "YulAssignment", + "src": "15529:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15573:9:21", + "nodeType": "YulIdentifier", + "src": "15573:9:21" + }, + { + "name": "offset", + "nativeSrc": "15584:6:21", + "nodeType": "YulIdentifier", + "src": "15584:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15569:3:21", + "nodeType": "YulIdentifier", + "src": "15569:3:21" + }, + "nativeSrc": "15569:22:21", + "nodeType": "YulFunctionCall", + "src": "15569:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "15593:7:21", + "nodeType": "YulIdentifier", + "src": "15593:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "15539:29:21", + "nodeType": "YulIdentifier", + "src": "15539:29:21" + }, + "nativeSrc": "15539:62:21", + "nodeType": "YulFunctionCall", + "src": "15539:62:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "15529:6:21", + "nodeType": "YulIdentifier", + "src": "15529:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr", + "nativeSrc": "14738:880:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14826:9:21", + "nodeType": "YulTypedName", + "src": "14826:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14837:7:21", + "nodeType": "YulTypedName", + "src": "14837:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14849:6:21", + "nodeType": "YulTypedName", + "src": "14849:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14857:6:21", + "nodeType": "YulTypedName", + "src": "14857:6:21", + "type": "" + } + ], + "src": "14738:880:21" + }, + { + "body": { + "nativeSrc": "15727:73:21", + "nodeType": "YulBlock", + "src": "15727:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15744:3:21", + "nodeType": "YulIdentifier", + "src": "15744:3:21" + }, + { + "name": "length", + "nativeSrc": "15749:6:21", + "nodeType": "YulIdentifier", + "src": "15749:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15737:6:21", + "nodeType": "YulIdentifier", + "src": "15737:6:21" + }, + "nativeSrc": "15737:19:21", + "nodeType": "YulFunctionCall", + "src": "15737:19:21" + }, + "nativeSrc": "15737:19:21", + "nodeType": "YulExpressionStatement", + "src": "15737:19:21" + }, + { + "nativeSrc": "15765:29:21", + "nodeType": "YulAssignment", + "src": "15765:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "15784:3:21", + "nodeType": "YulIdentifier", + "src": "15784:3:21" + }, + { + "kind": "number", + "nativeSrc": "15789:4:21", + "nodeType": "YulLiteral", + "src": "15789:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15780:3:21", + "nodeType": "YulIdentifier", + "src": "15780:3:21" + }, + "nativeSrc": "15780:14:21", + "nodeType": "YulFunctionCall", + "src": "15780:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "15765:11:21", + "nodeType": "YulIdentifier", + "src": "15765:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15624:176:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "15699:3:21", + "nodeType": "YulTypedName", + "src": "15699:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "15704:6:21", + "nodeType": "YulTypedName", + "src": "15704:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "15715:11:21", + "nodeType": "YulTypedName", + "src": "15715:11:21", + "type": "" + } + ], + "src": "15624:176:21" + }, + { + "body": { + "nativeSrc": "15936:222:21", + "nodeType": "YulBlock", + "src": "15936:222:21", + "statements": [ + { + "nativeSrc": "15946:85:21", + "nodeType": "YulAssignment", + "src": "15946:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16019:3:21", + "nodeType": "YulIdentifier", + "src": "16019:3:21" + }, + { + "name": "length", + "nativeSrc": "16024:6:21", + "nodeType": "YulIdentifier", + "src": "16024:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15953:65:21", + "nodeType": "YulIdentifier", + "src": "15953:65:21" + }, + "nativeSrc": "15953:78:21", + "nodeType": "YulFunctionCall", + "src": "15953:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "15946:3:21", + "nodeType": "YulIdentifier", + "src": "15946:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "16078:5:21", + "nodeType": "YulIdentifier", + "src": "16078:5:21" + }, + { + "name": "pos", + "nativeSrc": "16085:3:21", + "nodeType": "YulIdentifier", + "src": "16085:3:21" + }, + { + "name": "length", + "nativeSrc": "16090:6:21", + "nodeType": "YulIdentifier", + "src": "16090:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "16041:36:21", + "nodeType": "YulIdentifier", + "src": "16041:36:21" + }, + "nativeSrc": "16041:56:21", + "nodeType": "YulFunctionCall", + "src": "16041:56:21" + }, + "nativeSrc": "16041:56:21", + "nodeType": "YulExpressionStatement", + "src": "16041:56:21" + }, + { + "nativeSrc": "16106:46:21", + "nodeType": "YulAssignment", + "src": "16106:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "16117:3:21", + "nodeType": "YulIdentifier", + "src": "16117:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16144:6:21", + "nodeType": "YulIdentifier", + "src": "16144:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "16122:21:21", + "nodeType": "YulIdentifier", + "src": "16122:21:21" + }, + "nativeSrc": "16122:29:21", + "nodeType": "YulFunctionCall", + "src": "16122:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16113:3:21", + "nodeType": "YulIdentifier", + "src": "16113:3:21" + }, + "nativeSrc": "16113:39:21", + "nodeType": "YulFunctionCall", + "src": "16113:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "16106:3:21", + "nodeType": "YulIdentifier", + "src": "16106:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "15828:330:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "15909:5:21", + "nodeType": "YulTypedName", + "src": "15909:5:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "15916:6:21", + "nodeType": "YulTypedName", + "src": "15916:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "15924:3:21", + "nodeType": "YulTypedName", + "src": "15924:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "15932:3:21", + "nodeType": "YulTypedName", + "src": "15932:3:21", + "type": "" + } + ], + "src": "15828:330:21" + }, + { + "body": { + "nativeSrc": "16298:211:21", + "nodeType": "YulBlock", + "src": "16298:211:21", + "statements": [ + { + "nativeSrc": "16308:26:21", + "nodeType": "YulAssignment", + "src": "16308:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16320:9:21", + "nodeType": "YulIdentifier", + "src": "16320:9:21" + }, + { + "kind": "number", + "nativeSrc": "16331:2:21", + "nodeType": "YulLiteral", + "src": "16331:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16316:3:21", + "nodeType": "YulIdentifier", + "src": "16316:3:21" + }, + "nativeSrc": "16316:18:21", + "nodeType": "YulFunctionCall", + "src": "16316:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16308:4:21", + "nodeType": "YulIdentifier", + "src": "16308:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16355:9:21", + "nodeType": "YulIdentifier", + "src": "16355:9:21" + }, + { + "kind": "number", + "nativeSrc": "16366:1:21", + "nodeType": "YulLiteral", + "src": "16366:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16351:3:21", + "nodeType": "YulIdentifier", + "src": "16351:3:21" + }, + "nativeSrc": "16351:17:21", + "nodeType": "YulFunctionCall", + "src": "16351:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "16374:4:21", + "nodeType": "YulIdentifier", + "src": "16374:4:21" + }, + { + "name": "headStart", + "nativeSrc": "16380:9:21", + "nodeType": "YulIdentifier", + "src": "16380:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16370:3:21", + "nodeType": "YulIdentifier", + "src": "16370:3:21" + }, + "nativeSrc": "16370:20:21", + "nodeType": "YulFunctionCall", + "src": "16370:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16344:6:21", + "nodeType": "YulIdentifier", + "src": "16344:6:21" + }, + "nativeSrc": "16344:47:21", + "nodeType": "YulFunctionCall", + "src": "16344:47:21" + }, + "nativeSrc": "16344:47:21", + "nodeType": "YulExpressionStatement", + "src": "16344:47:21" + }, + { + "nativeSrc": "16400:102:21", + "nodeType": "YulAssignment", + "src": "16400:102:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "16480:6:21", + "nodeType": "YulIdentifier", + "src": "16480:6:21" + }, + { + "name": "value1", + "nativeSrc": "16488:6:21", + "nodeType": "YulIdentifier", + "src": "16488:6:21" + }, + { + "name": "tail", + "nativeSrc": "16497:4:21", + "nodeType": "YulIdentifier", + "src": "16497:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "16408:71:21", + "nodeType": "YulIdentifier", + "src": "16408:71:21" + }, + "nativeSrc": "16408:94:21", + "nodeType": "YulFunctionCall", + "src": "16408:94:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16400:4:21", + "nodeType": "YulIdentifier", + "src": "16400:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "16164:345:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16262:9:21", + "nodeType": "YulTypedName", + "src": "16262:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16274:6:21", + "nodeType": "YulTypedName", + "src": "16274:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16282:6:21", + "nodeType": "YulTypedName", + "src": "16282:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16293:4:21", + "nodeType": "YulTypedName", + "src": "16293:4:21", + "type": "" + } + ], + "src": "16164:345:21" + }, + { + "body": { + "nativeSrc": "16609:338:21", + "nodeType": "YulBlock", + "src": "16609:338:21", + "statements": [ + { + "nativeSrc": "16619:74:21", + "nodeType": "YulAssignment", + "src": "16619:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "16685:6:21", + "nodeType": "YulIdentifier", + "src": "16685:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nativeSrc": "16644:40:21", + "nodeType": "YulIdentifier", + "src": "16644:40:21" + }, + "nativeSrc": "16644:48:21", + "nodeType": "YulFunctionCall", + "src": "16644:48:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "16628:15:21", + "nodeType": "YulIdentifier", + "src": "16628:15:21" + }, + "nativeSrc": "16628:65:21", + "nodeType": "YulFunctionCall", + "src": "16628:65:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "16619:5:21", + "nodeType": "YulIdentifier", + "src": "16619:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "16709:5:21", + "nodeType": "YulIdentifier", + "src": "16709:5:21" + }, + { + "name": "length", + "nativeSrc": "16716:6:21", + "nodeType": "YulIdentifier", + "src": "16716:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16702:6:21", + "nodeType": "YulIdentifier", + "src": "16702:6:21" + }, + "nativeSrc": "16702:21:21", + "nodeType": "YulFunctionCall", + "src": "16702:21:21" + }, + "nativeSrc": "16702:21:21", + "nodeType": "YulExpressionStatement", + "src": "16702:21:21" + }, + { + "nativeSrc": "16732:27:21", + "nodeType": "YulVariableDeclaration", + "src": "16732:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "16747:5:21", + "nodeType": "YulIdentifier", + "src": "16747:5:21" + }, + { + "kind": "number", + "nativeSrc": "16754:4:21", + "nodeType": "YulLiteral", + "src": "16754:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16743:3:21", + "nodeType": "YulIdentifier", + "src": "16743:3:21" + }, + "nativeSrc": "16743:16:21", + "nodeType": "YulFunctionCall", + "src": "16743:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "16736:3:21", + "nodeType": "YulTypedName", + "src": "16736:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "16797:83:21", + "nodeType": "YulBlock", + "src": "16797:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "16799:77:21", + "nodeType": "YulIdentifier", + "src": "16799:77:21" + }, + "nativeSrc": "16799:79:21", + "nodeType": "YulFunctionCall", + "src": "16799:79:21" + }, + "nativeSrc": "16799:79:21", + "nodeType": "YulExpressionStatement", + "src": "16799:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "16778:3:21", + "nodeType": "YulIdentifier", + "src": "16778:3:21" + }, + { + "name": "length", + "nativeSrc": "16783:6:21", + "nodeType": "YulIdentifier", + "src": "16783:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16774:3:21", + "nodeType": "YulIdentifier", + "src": "16774:3:21" + }, + "nativeSrc": "16774:16:21", + "nodeType": "YulFunctionCall", + "src": "16774:16:21" + }, + { + "name": "end", + "nativeSrc": "16792:3:21", + "nodeType": "YulIdentifier", + "src": "16792:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "16771:2:21", + "nodeType": "YulIdentifier", + "src": "16771:2:21" + }, + "nativeSrc": "16771:25:21", + "nodeType": "YulFunctionCall", + "src": "16771:25:21" + }, + "nativeSrc": "16768:112:21", + "nodeType": "YulIf", + "src": "16768:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "16924:3:21", + "nodeType": "YulIdentifier", + "src": "16924:3:21" + }, + { + "name": "dst", + "nativeSrc": "16929:3:21", + "nodeType": "YulIdentifier", + "src": "16929:3:21" + }, + { + "name": "length", + "nativeSrc": "16934:6:21", + "nodeType": "YulIdentifier", + "src": "16934:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "16889:34:21", + "nodeType": "YulIdentifier", + "src": "16889:34:21" + }, + "nativeSrc": "16889:52:21", + "nodeType": "YulFunctionCall", + "src": "16889:52:21" + }, + "nativeSrc": "16889:52:21", + "nodeType": "YulExpressionStatement", + "src": "16889:52:21" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "16515:432:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "16582:3:21", + "nodeType": "YulTypedName", + "src": "16582:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "16587:6:21", + "nodeType": "YulTypedName", + "src": "16587:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "16595:3:21", + "nodeType": "YulTypedName", + "src": "16595:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "16603:5:21", + "nodeType": "YulTypedName", + "src": "16603:5:21", + "type": "" + } + ], + "src": "16515:432:21" + }, + { + "body": { + "nativeSrc": "17038:281:21", + "nodeType": "YulBlock", + "src": "17038:281:21", + "statements": [ + { + "body": { + "nativeSrc": "17087:83:21", + "nodeType": "YulBlock", + "src": "17087:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "17089:77:21", + "nodeType": "YulIdentifier", + "src": "17089:77:21" + }, + "nativeSrc": "17089:79:21", + "nodeType": "YulFunctionCall", + "src": "17089:79:21" + }, + "nativeSrc": "17089:79:21", + "nodeType": "YulExpressionStatement", + "src": "17089:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17066:6:21", + "nodeType": "YulIdentifier", + "src": "17066:6:21" + }, + { + "kind": "number", + "nativeSrc": "17074:4:21", + "nodeType": "YulLiteral", + "src": "17074:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17062:3:21", + "nodeType": "YulIdentifier", + "src": "17062:3:21" + }, + "nativeSrc": "17062:17:21", + "nodeType": "YulFunctionCall", + "src": "17062:17:21" + }, + { + "name": "end", + "nativeSrc": "17081:3:21", + "nodeType": "YulIdentifier", + "src": "17081:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17058:3:21", + "nodeType": "YulIdentifier", + "src": "17058:3:21" + }, + "nativeSrc": "17058:27:21", + "nodeType": "YulFunctionCall", + "src": "17058:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "17051:6:21", + "nodeType": "YulIdentifier", + "src": "17051:6:21" + }, + "nativeSrc": "17051:35:21", + "nodeType": "YulFunctionCall", + "src": "17051:35:21" + }, + "nativeSrc": "17048:122:21", + "nodeType": "YulIf", + "src": "17048:122:21" + }, + { + "nativeSrc": "17179:27:21", + "nodeType": "YulVariableDeclaration", + "src": "17179:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17199:6:21", + "nodeType": "YulIdentifier", + "src": "17199:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17193:5:21", + "nodeType": "YulIdentifier", + "src": "17193:5:21" + }, + "nativeSrc": "17193:13:21", + "nodeType": "YulFunctionCall", + "src": "17193:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "17183:6:21", + "nodeType": "YulTypedName", + "src": "17183:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "17215:98:21", + "nodeType": "YulAssignment", + "src": "17215:98:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17286:6:21", + "nodeType": "YulIdentifier", + "src": "17286:6:21" + }, + { + "kind": "number", + "nativeSrc": "17294:4:21", + "nodeType": "YulLiteral", + "src": "17294:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17282:3:21", + "nodeType": "YulIdentifier", + "src": "17282:3:21" + }, + "nativeSrc": "17282:17:21", + "nodeType": "YulFunctionCall", + "src": "17282:17:21" + }, + { + "name": "length", + "nativeSrc": "17301:6:21", + "nodeType": "YulIdentifier", + "src": "17301:6:21" + }, + { + "name": "end", + "nativeSrc": "17309:3:21", + "nodeType": "YulIdentifier", + "src": "17309:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17224:57:21", + "nodeType": "YulIdentifier", + "src": "17224:57:21" + }, + "nativeSrc": "17224:89:21", + "nodeType": "YulFunctionCall", + "src": "17224:89:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "17215:5:21", + "nodeType": "YulIdentifier", + "src": "17215:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "16966:353:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "17016:6:21", + "nodeType": "YulTypedName", + "src": "17016:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "17024:3:21", + "nodeType": "YulTypedName", + "src": "17024:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "17032:5:21", + "nodeType": "YulTypedName", + "src": "17032:5:21", + "type": "" + } + ], + "src": "16966:353:21" + }, + { + "body": { + "nativeSrc": "17411:436:21", + "nodeType": "YulBlock", + "src": "17411:436:21", + "statements": [ + { + "body": { + "nativeSrc": "17457:83:21", + "nodeType": "YulBlock", + "src": "17457:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "17459:77:21", + "nodeType": "YulIdentifier", + "src": "17459:77:21" + }, + "nativeSrc": "17459:79:21", + "nodeType": "YulFunctionCall", + "src": "17459:79:21" + }, + "nativeSrc": "17459:79:21", + "nodeType": "YulExpressionStatement", + "src": "17459:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17432:7:21", + "nodeType": "YulIdentifier", + "src": "17432:7:21" + }, + { + "name": "headStart", + "nativeSrc": "17441:9:21", + "nodeType": "YulIdentifier", + "src": "17441:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17428:3:21", + "nodeType": "YulIdentifier", + "src": "17428:3:21" + }, + "nativeSrc": "17428:23:21", + "nodeType": "YulFunctionCall", + "src": "17428:23:21" + }, + { + "kind": "number", + "nativeSrc": "17453:2:21", + "nodeType": "YulLiteral", + "src": "17453:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17424:3:21", + "nodeType": "YulIdentifier", + "src": "17424:3:21" + }, + "nativeSrc": "17424:32:21", + "nodeType": "YulFunctionCall", + "src": "17424:32:21" + }, + "nativeSrc": "17421:119:21", + "nodeType": "YulIf", + "src": "17421:119:21" + }, + { + "nativeSrc": "17550:290:21", + "nodeType": "YulBlock", + "src": "17550:290:21", + "statements": [ + { + "nativeSrc": "17565:38:21", + "nodeType": "YulVariableDeclaration", + "src": "17565:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17589:9:21", + "nodeType": "YulIdentifier", + "src": "17589:9:21" + }, + { + "kind": "number", + "nativeSrc": "17600:1:21", + "nodeType": "YulLiteral", + "src": "17600:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17585:3:21", + "nodeType": "YulIdentifier", + "src": "17585:3:21" + }, + "nativeSrc": "17585:17:21", + "nodeType": "YulFunctionCall", + "src": "17585:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17579:5:21", + "nodeType": "YulIdentifier", + "src": "17579:5:21" + }, + "nativeSrc": "17579:24:21", + "nodeType": "YulFunctionCall", + "src": "17579:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "17569:6:21", + "nodeType": "YulTypedName", + "src": "17569:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "17650:83:21", + "nodeType": "YulBlock", + "src": "17650:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "17652:77:21", + "nodeType": "YulIdentifier", + "src": "17652:77:21" + }, + "nativeSrc": "17652:79:21", + "nodeType": "YulFunctionCall", + "src": "17652:79:21" + }, + "nativeSrc": "17652:79:21", + "nodeType": "YulExpressionStatement", + "src": "17652:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "17622:6:21", + "nodeType": "YulIdentifier", + "src": "17622:6:21" + }, + { + "kind": "number", + "nativeSrc": "17630:18:21", + "nodeType": "YulLiteral", + "src": "17630:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "17619:2:21", + "nodeType": "YulIdentifier", + "src": "17619:2:21" + }, + "nativeSrc": "17619:30:21", + "nodeType": "YulFunctionCall", + "src": "17619:30:21" + }, + "nativeSrc": "17616:117:21", + "nodeType": "YulIf", + "src": "17616:117:21" + }, + { + "nativeSrc": "17747:83:21", + "nodeType": "YulAssignment", + "src": "17747:83:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17802:9:21", + "nodeType": "YulIdentifier", + "src": "17802:9:21" + }, + { + "name": "offset", + "nativeSrc": "17813:6:21", + "nodeType": "YulIdentifier", + "src": "17813:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17798:3:21", + "nodeType": "YulIdentifier", + "src": "17798:3:21" + }, + "nativeSrc": "17798:22:21", + "nodeType": "YulFunctionCall", + "src": "17798:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "17822:7:21", + "nodeType": "YulIdentifier", + "src": "17822:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17757:40:21", + "nodeType": "YulIdentifier", + "src": "17757:40:21" + }, + "nativeSrc": "17757:73:21", + "nodeType": "YulFunctionCall", + "src": "17757:73:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "17747:6:21", + "nodeType": "YulIdentifier", + "src": "17747:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "17325:522:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17381:9:21", + "nodeType": "YulTypedName", + "src": "17381:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17392:7:21", + "nodeType": "YulTypedName", + "src": "17392:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17404:6:21", + "nodeType": "YulTypedName", + "src": "17404:6:21", + "type": "" + } + ], + "src": "17325:522:21" + }, + { + "body": { + "nativeSrc": "17951:291:21", + "nodeType": "YulBlock", + "src": "17951:291:21", + "statements": [ + { + "nativeSrc": "17961:52:21", + "nodeType": "YulVariableDeclaration", + "src": "17961:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "18007:5:21", + "nodeType": "YulIdentifier", + "src": "18007:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "17975:31:21", + "nodeType": "YulIdentifier", + "src": "17975:31:21" + }, + "nativeSrc": "17975:38:21", + "nodeType": "YulFunctionCall", + "src": "17975:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "17965:6:21", + "nodeType": "YulTypedName", + "src": "17965:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "18022:85:21", + "nodeType": "YulAssignment", + "src": "18022:85:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18095:3:21", + "nodeType": "YulIdentifier", + "src": "18095:3:21" + }, + { + "name": "length", + "nativeSrc": "18100:6:21", + "nodeType": "YulIdentifier", + "src": "18100:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "18029:65:21", + "nodeType": "YulIdentifier", + "src": "18029:65:21" + }, + "nativeSrc": "18029:78:21", + "nodeType": "YulFunctionCall", + "src": "18029:78:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "18022:3:21", + "nodeType": "YulIdentifier", + "src": "18022:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18155:5:21", + "nodeType": "YulIdentifier", + "src": "18155:5:21" + }, + { + "kind": "number", + "nativeSrc": "18162:4:21", + "nodeType": "YulLiteral", + "src": "18162:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18151:3:21", + "nodeType": "YulIdentifier", + "src": "18151:3:21" + }, + "nativeSrc": "18151:16:21", + "nodeType": "YulFunctionCall", + "src": "18151:16:21" + }, + { + "name": "pos", + "nativeSrc": "18169:3:21", + "nodeType": "YulIdentifier", + "src": "18169:3:21" + }, + { + "name": "length", + "nativeSrc": "18174:6:21", + "nodeType": "YulIdentifier", + "src": "18174:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "18116:34:21", + "nodeType": "YulIdentifier", + "src": "18116:34:21" + }, + "nativeSrc": "18116:65:21", + "nodeType": "YulFunctionCall", + "src": "18116:65:21" + }, + "nativeSrc": "18116:65:21", + "nodeType": "YulExpressionStatement", + "src": "18116:65:21" + }, + { + "nativeSrc": "18190:46:21", + "nodeType": "YulAssignment", + "src": "18190:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "18201:3:21", + "nodeType": "YulIdentifier", + "src": "18201:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "18228:6:21", + "nodeType": "YulIdentifier", + "src": "18228:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "18206:21:21", + "nodeType": "YulIdentifier", + "src": "18206:21:21" + }, + "nativeSrc": "18206:29:21", + "nodeType": "YulFunctionCall", + "src": "18206:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18197:3:21", + "nodeType": "YulIdentifier", + "src": "18197:3:21" + }, + "nativeSrc": "18197:39:21", + "nodeType": "YulFunctionCall", + "src": "18197:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "18190:3:21", + "nodeType": "YulIdentifier", + "src": "18190:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "17853:389:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "17932:5:21", + "nodeType": "YulTypedName", + "src": "17932:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "17939:3:21", + "nodeType": "YulTypedName", + "src": "17939:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "17947:3:21", + "nodeType": "YulTypedName", + "src": "17947:3:21", + "type": "" + } + ], + "src": "17853:389:21" + }, + { + "body": { + "nativeSrc": "18372:201:21", + "nodeType": "YulBlock", + "src": "18372:201:21", + "statements": [ + { + "nativeSrc": "18382:26:21", + "nodeType": "YulAssignment", + "src": "18382:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18394:9:21", + "nodeType": "YulIdentifier", + "src": "18394:9:21" + }, + { + "kind": "number", + "nativeSrc": "18405:2:21", + "nodeType": "YulLiteral", + "src": "18405:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18390:3:21", + "nodeType": "YulIdentifier", + "src": "18390:3:21" + }, + "nativeSrc": "18390:18:21", + "nodeType": "YulFunctionCall", + "src": "18390:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18382:4:21", + "nodeType": "YulIdentifier", + "src": "18382:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18429:9:21", + "nodeType": "YulIdentifier", + "src": "18429:9:21" + }, + { + "kind": "number", + "nativeSrc": "18440:1:21", + "nodeType": "YulLiteral", + "src": "18440:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18425:3:21", + "nodeType": "YulIdentifier", + "src": "18425:3:21" + }, + "nativeSrc": "18425:17:21", + "nodeType": "YulFunctionCall", + "src": "18425:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "18448:4:21", + "nodeType": "YulIdentifier", + "src": "18448:4:21" + }, + { + "name": "headStart", + "nativeSrc": "18454:9:21", + "nodeType": "YulIdentifier", + "src": "18454:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18444:3:21", + "nodeType": "YulIdentifier", + "src": "18444:3:21" + }, + "nativeSrc": "18444:20:21", + "nodeType": "YulFunctionCall", + "src": "18444:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18418:6:21", + "nodeType": "YulIdentifier", + "src": "18418:6:21" + }, + "nativeSrc": "18418:47:21", + "nodeType": "YulFunctionCall", + "src": "18418:47:21" + }, + "nativeSrc": "18418:47:21", + "nodeType": "YulExpressionStatement", + "src": "18418:47:21" + }, + { + "nativeSrc": "18474:92:21", + "nodeType": "YulAssignment", + "src": "18474:92:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18552:6:21", + "nodeType": "YulIdentifier", + "src": "18552:6:21" + }, + { + "name": "tail", + "nativeSrc": "18561:4:21", + "nodeType": "YulIdentifier", + "src": "18561:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library", + "nativeSrc": "18482:69:21", + "nodeType": "YulIdentifier", + "src": "18482:69:21" + }, + "nativeSrc": "18482:84:21", + "nodeType": "YulFunctionCall", + "src": "18482:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18474:4:21", + "nodeType": "YulIdentifier", + "src": "18474:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nativeSrc": "18248:325:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18344:9:21", + "nodeType": "YulTypedName", + "src": "18344:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18356:6:21", + "nodeType": "YulTypedName", + "src": "18356:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18367:4:21", + "nodeType": "YulTypedName", + "src": "18367:4:21", + "type": "" + } + ], + "src": "18248:325:21" + }, + { + "body": { + "nativeSrc": "18619:76:21", + "nodeType": "YulBlock", + "src": "18619:76:21", + "statements": [ + { + "body": { + "nativeSrc": "18673:16:21", + "nodeType": "YulBlock", + "src": "18673:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18682:1:21", + "nodeType": "YulLiteral", + "src": "18682:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "18685:1:21", + "nodeType": "YulLiteral", + "src": "18685:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "18675:6:21", + "nodeType": "YulIdentifier", + "src": "18675:6:21" + }, + "nativeSrc": "18675:12:21", + "nodeType": "YulFunctionCall", + "src": "18675:12:21" + }, + "nativeSrc": "18675:12:21", + "nodeType": "YulExpressionStatement", + "src": "18675:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18642:5:21", + "nodeType": "YulIdentifier", + "src": "18642:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "18664:5:21", + "nodeType": "YulIdentifier", + "src": "18664:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nativeSrc": "18649:14:21", + "nodeType": "YulIdentifier", + "src": "18649:14:21" + }, + "nativeSrc": "18649:21:21", + "nodeType": "YulFunctionCall", + "src": "18649:21:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "18639:2:21", + "nodeType": "YulIdentifier", + "src": "18639:2:21" + }, + "nativeSrc": "18639:32:21", + "nodeType": "YulFunctionCall", + "src": "18639:32:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "18632:6:21", + "nodeType": "YulIdentifier", + "src": "18632:6:21" + }, + "nativeSrc": "18632:40:21", + "nodeType": "YulFunctionCall", + "src": "18632:40:21" + }, + "nativeSrc": "18629:60:21", + "nodeType": "YulIf", + "src": "18629:60:21" + } + ] + }, + "name": "validator_revert_t_bool", + "nativeSrc": "18579:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "18612:5:21", + "nodeType": "YulTypedName", + "src": "18612:5:21", + "type": "" + } + ], + "src": "18579:116:21" + }, + { + "body": { + "nativeSrc": "18761:77:21", + "nodeType": "YulBlock", + "src": "18761:77:21", + "statements": [ + { + "nativeSrc": "18771:22:21", + "nodeType": "YulAssignment", + "src": "18771:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "18786:6:21", + "nodeType": "YulIdentifier", + "src": "18786:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "18780:5:21", + "nodeType": "YulIdentifier", + "src": "18780:5:21" + }, + "nativeSrc": "18780:13:21", + "nodeType": "YulFunctionCall", + "src": "18780:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "18771:5:21", + "nodeType": "YulIdentifier", + "src": "18771:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "18826:5:21", + "nodeType": "YulIdentifier", + "src": "18826:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nativeSrc": "18802:23:21", + "nodeType": "YulIdentifier", + "src": "18802:23:21" + }, + "nativeSrc": "18802:30:21", + "nodeType": "YulFunctionCall", + "src": "18802:30:21" + }, + "nativeSrc": "18802:30:21", + "nodeType": "YulExpressionStatement", + "src": "18802:30:21" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "18701:137:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "18739:6:21", + "nodeType": "YulTypedName", + "src": "18739:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "18747:3:21", + "nodeType": "YulTypedName", + "src": "18747:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "18755:5:21", + "nodeType": "YulTypedName", + "src": "18755:5:21", + "type": "" + } + ], + "src": "18701:137:21" + }, + { + "body": { + "nativeSrc": "18918:271:21", + "nodeType": "YulBlock", + "src": "18918:271:21", + "statements": [ + { + "body": { + "nativeSrc": "18964:83:21", + "nodeType": "YulBlock", + "src": "18964:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "18966:77:21", + "nodeType": "YulIdentifier", + "src": "18966:77:21" + }, + "nativeSrc": "18966:79:21", + "nodeType": "YulFunctionCall", + "src": "18966:79:21" + }, + "nativeSrc": "18966:79:21", + "nodeType": "YulExpressionStatement", + "src": "18966:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "18939:7:21", + "nodeType": "YulIdentifier", + "src": "18939:7:21" + }, + { + "name": "headStart", + "nativeSrc": "18948:9:21", + "nodeType": "YulIdentifier", + "src": "18948:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18935:3:21", + "nodeType": "YulIdentifier", + "src": "18935:3:21" + }, + "nativeSrc": "18935:23:21", + "nodeType": "YulFunctionCall", + "src": "18935:23:21" + }, + { + "kind": "number", + "nativeSrc": "18960:2:21", + "nodeType": "YulLiteral", + "src": "18960:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "18931:3:21", + "nodeType": "YulIdentifier", + "src": "18931:3:21" + }, + "nativeSrc": "18931:32:21", + "nodeType": "YulFunctionCall", + "src": "18931:32:21" + }, + "nativeSrc": "18928:119:21", + "nodeType": "YulIf", + "src": "18928:119:21" + }, + { + "nativeSrc": "19057:125:21", + "nodeType": "YulBlock", + "src": "19057:125:21", + "statements": [ + { + "nativeSrc": "19072:15:21", + "nodeType": "YulVariableDeclaration", + "src": "19072:15:21", + "value": { + "kind": "number", + "nativeSrc": "19086:1:21", + "nodeType": "YulLiteral", + "src": "19086:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "19076:6:21", + "nodeType": "YulTypedName", + "src": "19076:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "19101:71:21", + "nodeType": "YulAssignment", + "src": "19101:71:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19144:9:21", + "nodeType": "YulIdentifier", + "src": "19144:9:21" + }, + { + "name": "offset", + "nativeSrc": "19155:6:21", + "nodeType": "YulIdentifier", + "src": "19155:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19140:3:21", + "nodeType": "YulIdentifier", + "src": "19140:3:21" + }, + "nativeSrc": "19140:22:21", + "nodeType": "YulFunctionCall", + "src": "19140:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "19164:7:21", + "nodeType": "YulIdentifier", + "src": "19164:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nativeSrc": "19111:28:21", + "nodeType": "YulIdentifier", + "src": "19111:28:21" + }, + "nativeSrc": "19111:61:21", + "nodeType": "YulFunctionCall", + "src": "19111:61:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "19101:6:21", + "nodeType": "YulIdentifier", + "src": "19101:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "18844:345:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18888:9:21", + "nodeType": "YulTypedName", + "src": "18888:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "18899:7:21", + "nodeType": "YulTypedName", + "src": "18899:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "18911:6:21", + "nodeType": "YulTypedName", + "src": "18911:6:21", + "type": "" + } + ], + "src": "18844:345:21" + }, + { + "body": { + "nativeSrc": "19291:73:21", + "nodeType": "YulBlock", + "src": "19291:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19308:3:21", + "nodeType": "YulIdentifier", + "src": "19308:3:21" + }, + { + "name": "length", + "nativeSrc": "19313:6:21", + "nodeType": "YulIdentifier", + "src": "19313:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19301:6:21", + "nodeType": "YulIdentifier", + "src": "19301:6:21" + }, + "nativeSrc": "19301:19:21", + "nodeType": "YulFunctionCall", + "src": "19301:19:21" + }, + "nativeSrc": "19301:19:21", + "nodeType": "YulExpressionStatement", + "src": "19301:19:21" + }, + { + "nativeSrc": "19329:29:21", + "nodeType": "YulAssignment", + "src": "19329:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19348:3:21", + "nodeType": "YulIdentifier", + "src": "19348:3:21" + }, + { + "kind": "number", + "nativeSrc": "19353:4:21", + "nodeType": "YulLiteral", + "src": "19353:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19344:3:21", + "nodeType": "YulIdentifier", + "src": "19344:3:21" + }, + "nativeSrc": "19344:14:21", + "nodeType": "YulFunctionCall", + "src": "19344:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "19329:11:21", + "nodeType": "YulIdentifier", + "src": "19329:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19195:169:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19263:3:21", + "nodeType": "YulTypedName", + "src": "19263:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "19268:6:21", + "nodeType": "YulTypedName", + "src": "19268:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "19279:11:21", + "nodeType": "YulTypedName", + "src": "19279:11:21", + "type": "" + } + ], + "src": "19195:169:21" + }, + { + "body": { + "nativeSrc": "19476:65:21", + "nodeType": "YulBlock", + "src": "19476:65:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "19498:6:21", + "nodeType": "YulIdentifier", + "src": "19498:6:21" + }, + { + "kind": "number", + "nativeSrc": "19506:1:21", + "nodeType": "YulLiteral", + "src": "19506:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19494:3:21", + "nodeType": "YulIdentifier", + "src": "19494:3:21" + }, + "nativeSrc": "19494:14:21", + "nodeType": "YulFunctionCall", + "src": "19494:14:21" + }, + { + "hexValue": "4c6162656c206973206e6f742061206e756d626572", + "kind": "string", + "nativeSrc": "19510:23:21", + "nodeType": "YulLiteral", + "src": "19510:23:21", + "type": "", + "value": "Label is not a number" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19487:6:21", + "nodeType": "YulIdentifier", + "src": "19487:6:21" + }, + "nativeSrc": "19487:47:21", + "nodeType": "YulFunctionCall", + "src": "19487:47:21" + }, + "nativeSrc": "19487:47:21", + "nodeType": "YulExpressionStatement", + "src": "19487:47:21" + } + ] + }, + "name": "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "nativeSrc": "19370:171:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "19468:6:21", + "nodeType": "YulTypedName", + "src": "19468:6:21", + "type": "" + } + ], + "src": "19370:171:21" + }, + { + "body": { + "nativeSrc": "19693:220:21", + "nodeType": "YulBlock", + "src": "19693:220:21", + "statements": [ + { + "nativeSrc": "19703:74:21", + "nodeType": "YulAssignment", + "src": "19703:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19769:3:21", + "nodeType": "YulIdentifier", + "src": "19769:3:21" + }, + { + "kind": "number", + "nativeSrc": "19774:2:21", + "nodeType": "YulLiteral", + "src": "19774:2:21", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "19710:58:21", + "nodeType": "YulIdentifier", + "src": "19710:58:21" + }, + "nativeSrc": "19710:67:21", + "nodeType": "YulFunctionCall", + "src": "19710:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "19703:3:21", + "nodeType": "YulIdentifier", + "src": "19703:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19875:3:21", + "nodeType": "YulIdentifier", + "src": "19875:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28", + "nativeSrc": "19786:88:21", + "nodeType": "YulIdentifier", + "src": "19786:88:21" + }, + "nativeSrc": "19786:93:21", + "nodeType": "YulFunctionCall", + "src": "19786:93:21" + }, + "nativeSrc": "19786:93:21", + "nodeType": "YulExpressionStatement", + "src": "19786:93:21" + }, + { + "nativeSrc": "19888:19:21", + "nodeType": "YulAssignment", + "src": "19888:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19899:3:21", + "nodeType": "YulIdentifier", + "src": "19899:3:21" + }, + { + "kind": "number", + "nativeSrc": "19904:2:21", + "nodeType": "YulLiteral", + "src": "19904:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19895:3:21", + "nodeType": "YulIdentifier", + "src": "19895:3:21" + }, + "nativeSrc": "19895:12:21", + "nodeType": "YulFunctionCall", + "src": "19895:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19888:3:21", + "nodeType": "YulIdentifier", + "src": "19888:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack", + "nativeSrc": "19547:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19681:3:21", + "nodeType": "YulTypedName", + "src": "19681:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19689:3:21", + "nodeType": "YulTypedName", + "src": "19689:3:21", + "type": "" + } + ], + "src": "19547:366:21" + }, + { + "body": { + "nativeSrc": "20090:248:21", + "nodeType": "YulBlock", + "src": "20090:248:21", + "statements": [ + { + "nativeSrc": "20100:26:21", + "nodeType": "YulAssignment", + "src": "20100:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20112:9:21", + "nodeType": "YulIdentifier", + "src": "20112:9:21" + }, + { + "kind": "number", + "nativeSrc": "20123:2:21", + "nodeType": "YulLiteral", + "src": "20123:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20108:3:21", + "nodeType": "YulIdentifier", + "src": "20108:3:21" + }, + "nativeSrc": "20108:18:21", + "nodeType": "YulFunctionCall", + "src": "20108:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20100:4:21", + "nodeType": "YulIdentifier", + "src": "20100:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20147:9:21", + "nodeType": "YulIdentifier", + "src": "20147:9:21" + }, + { + "kind": "number", + "nativeSrc": "20158:1:21", + "nodeType": "YulLiteral", + "src": "20158:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20143:3:21", + "nodeType": "YulIdentifier", + "src": "20143:3:21" + }, + "nativeSrc": "20143:17:21", + "nodeType": "YulFunctionCall", + "src": "20143:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20166:4:21", + "nodeType": "YulIdentifier", + "src": "20166:4:21" + }, + { + "name": "headStart", + "nativeSrc": "20172:9:21", + "nodeType": "YulIdentifier", + "src": "20172:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20162:3:21", + "nodeType": "YulIdentifier", + "src": "20162:3:21" + }, + "nativeSrc": "20162:20:21", + "nodeType": "YulFunctionCall", + "src": "20162:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20136:6:21", + "nodeType": "YulIdentifier", + "src": "20136:6:21" + }, + "nativeSrc": "20136:47:21", + "nodeType": "YulFunctionCall", + "src": "20136:47:21" + }, + "nativeSrc": "20136:47:21", + "nodeType": "YulExpressionStatement", + "src": "20136:47:21" + }, + { + "nativeSrc": "20192:139:21", + "nodeType": "YulAssignment", + "src": "20192:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "20326:4:21", + "nodeType": "YulIdentifier", + "src": "20326:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack", + "nativeSrc": "20200:124:21", + "nodeType": "YulIdentifier", + "src": "20200:124:21" + }, + "nativeSrc": "20200:131:21", + "nodeType": "YulFunctionCall", + "src": "20200:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20192:4:21", + "nodeType": "YulIdentifier", + "src": "20192:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19919:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20070:9:21", + "nodeType": "YulTypedName", + "src": "20070:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20085:4:21", + "nodeType": "YulTypedName", + "src": "20085:4:21", + "type": "" + } + ], + "src": "19919:419:21" + }, + { + "body": { + "nativeSrc": "20407:80:21", + "nodeType": "YulBlock", + "src": "20407:80:21", + "statements": [ + { + "nativeSrc": "20417:22:21", + "nodeType": "YulAssignment", + "src": "20417:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "20432:6:21", + "nodeType": "YulIdentifier", + "src": "20432:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "20426:5:21", + "nodeType": "YulIdentifier", + "src": "20426:5:21" + }, + "nativeSrc": "20426:13:21", + "nodeType": "YulFunctionCall", + "src": "20426:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "20417:5:21", + "nodeType": "YulIdentifier", + "src": "20417:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20475:5:21", + "nodeType": "YulIdentifier", + "src": "20475:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nativeSrc": "20448:26:21", + "nodeType": "YulIdentifier", + "src": "20448:26:21" + }, + "nativeSrc": "20448:33:21", + "nodeType": "YulFunctionCall", + "src": "20448:33:21" + }, + "nativeSrc": "20448:33:21", + "nodeType": "YulExpressionStatement", + "src": "20448:33:21" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "20344:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "20385:6:21", + "nodeType": "YulTypedName", + "src": "20385:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "20393:3:21", + "nodeType": "YulTypedName", + "src": "20393:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "20401:5:21", + "nodeType": "YulTypedName", + "src": "20401:5:21", + "type": "" + } + ], + "src": "20344:143:21" + }, + { + "body": { + "nativeSrc": "20570:274:21", + "nodeType": "YulBlock", + "src": "20570:274:21", + "statements": [ + { + "body": { + "nativeSrc": "20616:83:21", + "nodeType": "YulBlock", + "src": "20616:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "20618:77:21", + "nodeType": "YulIdentifier", + "src": "20618:77:21" + }, + "nativeSrc": "20618:79:21", + "nodeType": "YulFunctionCall", + "src": "20618:79:21" + }, + "nativeSrc": "20618:79:21", + "nodeType": "YulExpressionStatement", + "src": "20618:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "20591:7:21", + "nodeType": "YulIdentifier", + "src": "20591:7:21" + }, + { + "name": "headStart", + "nativeSrc": "20600:9:21", + "nodeType": "YulIdentifier", + "src": "20600:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20587:3:21", + "nodeType": "YulIdentifier", + "src": "20587:3:21" + }, + "nativeSrc": "20587:23:21", + "nodeType": "YulFunctionCall", + "src": "20587:23:21" + }, + { + "kind": "number", + "nativeSrc": "20612:2:21", + "nodeType": "YulLiteral", + "src": "20612:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "20583:3:21", + "nodeType": "YulIdentifier", + "src": "20583:3:21" + }, + "nativeSrc": "20583:32:21", + "nodeType": "YulFunctionCall", + "src": "20583:32:21" + }, + "nativeSrc": "20580:119:21", + "nodeType": "YulIf", + "src": "20580:119:21" + }, + { + "nativeSrc": "20709:128:21", + "nodeType": "YulBlock", + "src": "20709:128:21", + "statements": [ + { + "nativeSrc": "20724:15:21", + "nodeType": "YulVariableDeclaration", + "src": "20724:15:21", + "value": { + "kind": "number", + "nativeSrc": "20738:1:21", + "nodeType": "YulLiteral", + "src": "20738:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "20728:6:21", + "nodeType": "YulTypedName", + "src": "20728:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "20753:74:21", + "nodeType": "YulAssignment", + "src": "20753:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20799:9:21", + "nodeType": "YulIdentifier", + "src": "20799:9:21" + }, + { + "name": "offset", + "nativeSrc": "20810:6:21", + "nodeType": "YulIdentifier", + "src": "20810:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20795:3:21", + "nodeType": "YulIdentifier", + "src": "20795:3:21" + }, + "nativeSrc": "20795:22:21", + "nodeType": "YulFunctionCall", + "src": "20795:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "20819:7:21", + "nodeType": "YulIdentifier", + "src": "20819:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nativeSrc": "20763:31:21", + "nodeType": "YulIdentifier", + "src": "20763:31:21" + }, + "nativeSrc": "20763:64:21", + "nodeType": "YulFunctionCall", + "src": "20763:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "20753:6:21", + "nodeType": "YulIdentifier", + "src": "20753:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "20493:351:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20540:9:21", + "nodeType": "YulTypedName", + "src": "20540:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "20551:7:21", + "nodeType": "YulTypedName", + "src": "20551:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "20563:6:21", + "nodeType": "YulTypedName", + "src": "20563:6:21", + "type": "" + } + ], + "src": "20493:351:21" + }, + { + "body": { + "nativeSrc": "20915:51:21", + "nodeType": "YulBlock", + "src": "20915:51:21", + "statements": [ + { + "nativeSrc": "20925:35:21", + "nodeType": "YulAssignment", + "src": "20925:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "20954:5:21", + "nodeType": "YulIdentifier", + "src": "20954:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nativeSrc": "20936:17:21", + "nodeType": "YulIdentifier", + "src": "20936:17:21" + }, + "nativeSrc": "20936:24:21", + "nodeType": "YulFunctionCall", + "src": "20936:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "20925:7:21", + "nodeType": "YulIdentifier", + "src": "20925:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "20850:116:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "20897:5:21", + "nodeType": "YulTypedName", + "src": "20897:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "20907:7:21", + "nodeType": "YulTypedName", + "src": "20907:7:21", + "type": "" + } + ], + "src": "20850:116:21" + }, + { + "body": { + "nativeSrc": "21035:99:21", + "nodeType": "YulBlock", + "src": "21035:99:21", + "statements": [ + { + "body": { + "nativeSrc": "21112:16:21", + "nodeType": "YulBlock", + "src": "21112:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21121:1:21", + "nodeType": "YulLiteral", + "src": "21121:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21124:1:21", + "nodeType": "YulLiteral", + "src": "21124:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21114:6:21", + "nodeType": "YulIdentifier", + "src": "21114:6:21" + }, + "nativeSrc": "21114:12:21", + "nodeType": "YulFunctionCall", + "src": "21114:12:21" + }, + "nativeSrc": "21114:12:21", + "nodeType": "YulExpressionStatement", + "src": "21114:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21058:5:21", + "nodeType": "YulIdentifier", + "src": "21058:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21103:5:21", + "nodeType": "YulIdentifier", + "src": "21103:5:21" + } + ], + "functionName": { + "name": "cleanup_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21065:37:21", + "nodeType": "YulIdentifier", + "src": "21065:37:21" + }, + "nativeSrc": "21065:44:21", + "nodeType": "YulFunctionCall", + "src": "21065:44:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21055:2:21", + "nodeType": "YulIdentifier", + "src": "21055:2:21" + }, + "nativeSrc": "21055:55:21", + "nodeType": "YulFunctionCall", + "src": "21055:55:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "21048:6:21", + "nodeType": "YulIdentifier", + "src": "21048:6:21" + }, + "nativeSrc": "21048:63:21", + "nodeType": "YulFunctionCall", + "src": "21048:63:21" + }, + "nativeSrc": "21045:83:21", + "nodeType": "YulIf", + "src": "21045:83:21" + } + ] + }, + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "20972:162:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21028:5:21", + "nodeType": "YulTypedName", + "src": "21028:5:21", + "type": "" + } + ], + "src": "20972:162:21" + }, + { + "body": { + "nativeSrc": "21212:107:21", + "nodeType": "YulBlock", + "src": "21212:107:21", + "statements": [ + { + "nativeSrc": "21222:29:21", + "nodeType": "YulAssignment", + "src": "21222:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21244:6:21", + "nodeType": "YulIdentifier", + "src": "21244:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "21231:12:21", + "nodeType": "YulIdentifier", + "src": "21231:12:21" + }, + "nativeSrc": "21231:20:21", + "nodeType": "YulFunctionCall", + "src": "21231:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21222:5:21", + "nodeType": "YulIdentifier", + "src": "21222:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21307:5:21", + "nodeType": "YulIdentifier", + "src": "21307:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21260:46:21", + "nodeType": "YulIdentifier", + "src": "21260:46:21" + }, + "nativeSrc": "21260:53:21", + "nodeType": "YulFunctionCall", + "src": "21260:53:21" + }, + "nativeSrc": "21260:53:21", + "nodeType": "YulExpressionStatement", + "src": "21260:53:21" + } + ] + }, + "name": "abi_decode_t_contract$_IEVMVerifier_$798", + "nativeSrc": "21140:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21190:6:21", + "nodeType": "YulTypedName", + "src": "21190:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21198:3:21", + "nodeType": "YulTypedName", + "src": "21198:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21206:5:21", + "nodeType": "YulTypedName", + "src": "21206:5:21", + "type": "" + } + ], + "src": "21140:179:21" + }, + { + "body": { + "nativeSrc": "21378:51:21", + "nodeType": "YulBlock", + "src": "21378:51:21", + "statements": [ + { + "nativeSrc": "21388:35:21", + "nodeType": "YulAssignment", + "src": "21388:35:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21417:5:21", + "nodeType": "YulIdentifier", + "src": "21417:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nativeSrc": "21399:17:21", + "nodeType": "YulIdentifier", + "src": "21399:17:21" + }, + "nativeSrc": "21399:24:21", + "nodeType": "YulFunctionCall", + "src": "21399:24:21" + }, + "variableNames": [ + { + "name": "cleaned", + "nativeSrc": "21388:7:21", + "nodeType": "YulIdentifier", + "src": "21388:7:21" + } + ] + } + ] + }, + "name": "cleanup_t_address_payable", + "nativeSrc": "21325:104:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21360:5:21", + "nodeType": "YulTypedName", + "src": "21360:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nativeSrc": "21370:7:21", + "nodeType": "YulTypedName", + "src": "21370:7:21", + "type": "" + } + ], + "src": "21325:104:21" + }, + { + "body": { + "nativeSrc": "21486:87:21", + "nodeType": "YulBlock", + "src": "21486:87:21", + "statements": [ + { + "body": { + "nativeSrc": "21551:16:21", + "nodeType": "YulBlock", + "src": "21551:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21560:1:21", + "nodeType": "YulLiteral", + "src": "21560:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21563:1:21", + "nodeType": "YulLiteral", + "src": "21563:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21553:6:21", + "nodeType": "YulIdentifier", + "src": "21553:6:21" + }, + "nativeSrc": "21553:12:21", + "nodeType": "YulFunctionCall", + "src": "21553:12:21" + }, + "nativeSrc": "21553:12:21", + "nodeType": "YulExpressionStatement", + "src": "21553:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21509:5:21", + "nodeType": "YulIdentifier", + "src": "21509:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "21542:5:21", + "nodeType": "YulIdentifier", + "src": "21542:5:21" + } + ], + "functionName": { + "name": "cleanup_t_address_payable", + "nativeSrc": "21516:25:21", + "nodeType": "YulIdentifier", + "src": "21516:25:21" + }, + "nativeSrc": "21516:32:21", + "nodeType": "YulFunctionCall", + "src": "21516:32:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21506:2:21", + "nodeType": "YulIdentifier", + "src": "21506:2:21" + }, + "nativeSrc": "21506:43:21", + "nodeType": "YulFunctionCall", + "src": "21506:43:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "21499:6:21", + "nodeType": "YulIdentifier", + "src": "21499:6:21" + }, + "nativeSrc": "21499:51:21", + "nodeType": "YulFunctionCall", + "src": "21499:51:21" + }, + "nativeSrc": "21496:71:21", + "nodeType": "YulIf", + "src": "21496:71:21" + } + ] + }, + "name": "validator_revert_t_address_payable", + "nativeSrc": "21435:138:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21479:5:21", + "nodeType": "YulTypedName", + "src": "21479:5:21", + "type": "" + } + ], + "src": "21435:138:21" + }, + { + "body": { + "nativeSrc": "21639:95:21", + "nodeType": "YulBlock", + "src": "21639:95:21", + "statements": [ + { + "nativeSrc": "21649:29:21", + "nodeType": "YulAssignment", + "src": "21649:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "21671:6:21", + "nodeType": "YulIdentifier", + "src": "21671:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "21658:12:21", + "nodeType": "YulIdentifier", + "src": "21658:12:21" + }, + "nativeSrc": "21658:20:21", + "nodeType": "YulFunctionCall", + "src": "21658:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "21649:5:21", + "nodeType": "YulIdentifier", + "src": "21649:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21722:5:21", + "nodeType": "YulIdentifier", + "src": "21722:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address_payable", + "nativeSrc": "21687:34:21", + "nodeType": "YulIdentifier", + "src": "21687:34:21" + }, + "nativeSrc": "21687:41:21", + "nodeType": "YulFunctionCall", + "src": "21687:41:21" + }, + "nativeSrc": "21687:41:21", + "nodeType": "YulExpressionStatement", + "src": "21687:41:21" + } + ] + }, + "name": "abi_decode_t_address_payable", + "nativeSrc": "21579:155:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "21617:6:21", + "nodeType": "YulTypedName", + "src": "21617:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "21625:3:21", + "nodeType": "YulTypedName", + "src": "21625:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "21633:5:21", + "nodeType": "YulTypedName", + "src": "21633:5:21", + "type": "" + } + ], + "src": "21579:155:21" + }, + { + "body": { + "nativeSrc": "21822:229:21", + "nodeType": "YulBlock", + "src": "21822:229:21", + "statements": [ + { + "body": { + "nativeSrc": "21927:22:21", + "nodeType": "YulBlock", + "src": "21927:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "21929:16:21", + "nodeType": "YulIdentifier", + "src": "21929:16:21" + }, + "nativeSrc": "21929:18:21", + "nodeType": "YulFunctionCall", + "src": "21929:18:21" + }, + "nativeSrc": "21929:18:21", + "nodeType": "YulExpressionStatement", + "src": "21929:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "21899:6:21", + "nodeType": "YulIdentifier", + "src": "21899:6:21" + }, + { + "kind": "number", + "nativeSrc": "21907:18:21", + "nodeType": "YulLiteral", + "src": "21907:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "21896:2:21", + "nodeType": "YulIdentifier", + "src": "21896:2:21" + }, + "nativeSrc": "21896:30:21", + "nodeType": "YulFunctionCall", + "src": "21896:30:21" + }, + "nativeSrc": "21893:56:21", + "nodeType": "YulIf", + "src": "21893:56:21" + }, + { + "nativeSrc": "21959:25:21", + "nodeType": "YulAssignment", + "src": "21959:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "21971:6:21", + "nodeType": "YulIdentifier", + "src": "21971:6:21" + }, + { + "kind": "number", + "nativeSrc": "21979:4:21", + "nodeType": "YulLiteral", + "src": "21979:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "21967:3:21", + "nodeType": "YulIdentifier", + "src": "21967:3:21" + }, + "nativeSrc": "21967:17:21", + "nodeType": "YulFunctionCall", + "src": "21967:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "21959:4:21", + "nodeType": "YulIdentifier", + "src": "21959:4:21" + } + ] + }, + { + "nativeSrc": "22021:23:21", + "nodeType": "YulAssignment", + "src": "22021:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "22033:4:21", + "nodeType": "YulIdentifier", + "src": "22033:4:21" + }, + { + "kind": "number", + "nativeSrc": "22039:4:21", + "nodeType": "YulLiteral", + "src": "22039:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22029:3:21", + "nodeType": "YulIdentifier", + "src": "22029:3:21" + }, + "nativeSrc": "22029:15:21", + "nodeType": "YulFunctionCall", + "src": "22029:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "22021:4:21", + "nodeType": "YulIdentifier", + "src": "22021:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "21740:311:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "21806:6:21", + "nodeType": "YulTypedName", + "src": "21806:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "21817:4:21", + "nodeType": "YulTypedName", + "src": "21817:4:21", + "type": "" + } + ], + "src": "21740:311:21" + }, + { + "body": { + "nativeSrc": "22100:79:21", + "nodeType": "YulBlock", + "src": "22100:79:21", + "statements": [ + { + "body": { + "nativeSrc": "22157:16:21", + "nodeType": "YulBlock", + "src": "22157:16:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22166:1:21", + "nodeType": "YulLiteral", + "src": "22166:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22169:1:21", + "nodeType": "YulLiteral", + "src": "22169:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22159:6:21", + "nodeType": "YulIdentifier", + "src": "22159:6:21" + }, + "nativeSrc": "22159:12:21", + "nodeType": "YulFunctionCall", + "src": "22159:12:21" + }, + "nativeSrc": "22159:12:21", + "nodeType": "YulExpressionStatement", + "src": "22159:12:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22123:5:21", + "nodeType": "YulIdentifier", + "src": "22123:5:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22148:5:21", + "nodeType": "YulIdentifier", + "src": "22148:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "22130:17:21", + "nodeType": "YulIdentifier", + "src": "22130:17:21" + }, + "nativeSrc": "22130:24:21", + "nodeType": "YulFunctionCall", + "src": "22130:24:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "22120:2:21", + "nodeType": "YulIdentifier", + "src": "22120:2:21" + }, + "nativeSrc": "22120:35:21", + "nodeType": "YulFunctionCall", + "src": "22120:35:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "22113:6:21", + "nodeType": "YulIdentifier", + "src": "22113:6:21" + }, + "nativeSrc": "22113:43:21", + "nodeType": "YulFunctionCall", + "src": "22113:43:21" + }, + "nativeSrc": "22110:63:21", + "nodeType": "YulIf", + "src": "22110:63:21" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nativeSrc": "22057:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "22093:5:21", + "nodeType": "YulTypedName", + "src": "22093:5:21", + "type": "" + } + ], + "src": "22057:122:21" + }, + { + "body": { + "nativeSrc": "22237:87:21", + "nodeType": "YulBlock", + "src": "22237:87:21", + "statements": [ + { + "nativeSrc": "22247:29:21", + "nodeType": "YulAssignment", + "src": "22247:29:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22269:6:21", + "nodeType": "YulIdentifier", + "src": "22269:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "22256:12:21", + "nodeType": "YulIdentifier", + "src": "22256:12:21" + }, + "nativeSrc": "22256:20:21", + "nodeType": "YulFunctionCall", + "src": "22256:20:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "22247:5:21", + "nodeType": "YulIdentifier", + "src": "22247:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22312:5:21", + "nodeType": "YulIdentifier", + "src": "22312:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nativeSrc": "22285:26:21", + "nodeType": "YulIdentifier", + "src": "22285:26:21" + }, + "nativeSrc": "22285:33:21", + "nodeType": "YulFunctionCall", + "src": "22285:33:21" + }, + "nativeSrc": "22285:33:21", + "nodeType": "YulExpressionStatement", + "src": "22285:33:21" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nativeSrc": "22185:139:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22215:6:21", + "nodeType": "YulTypedName", + "src": "22215:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22223:3:21", + "nodeType": "YulTypedName", + "src": "22223:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "22231:5:21", + "nodeType": "YulTypedName", + "src": "22231:5:21", + "type": "" + } + ], + "src": "22185:139:21" + }, + { + "body": { + "nativeSrc": "22449:608:21", + "nodeType": "YulBlock", + "src": "22449:608:21", + "statements": [ + { + "nativeSrc": "22459:90:21", + "nodeType": "YulAssignment", + "src": "22459:90:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22541:6:21", + "nodeType": "YulIdentifier", + "src": "22541:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "22484:56:21", + "nodeType": "YulIdentifier", + "src": "22484:56:21" + }, + "nativeSrc": "22484:64:21", + "nodeType": "YulFunctionCall", + "src": "22484:64:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "22468:15:21", + "nodeType": "YulIdentifier", + "src": "22468:15:21" + }, + "nativeSrc": "22468:81:21", + "nodeType": "YulFunctionCall", + "src": "22468:81:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "22459:5:21", + "nodeType": "YulIdentifier", + "src": "22459:5:21" + } + ] + }, + { + "nativeSrc": "22558:16:21", + "nodeType": "YulVariableDeclaration", + "src": "22558:16:21", + "value": { + "name": "array", + "nativeSrc": "22569:5:21", + "nodeType": "YulIdentifier", + "src": "22569:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "22562:3:21", + "nodeType": "YulTypedName", + "src": "22562:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22591:5:21", + "nodeType": "YulIdentifier", + "src": "22591:5:21" + }, + { + "name": "length", + "nativeSrc": "22598:6:21", + "nodeType": "YulIdentifier", + "src": "22598:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22584:6:21", + "nodeType": "YulIdentifier", + "src": "22584:6:21" + }, + "nativeSrc": "22584:21:21", + "nodeType": "YulFunctionCall", + "src": "22584:21:21" + }, + "nativeSrc": "22584:21:21", + "nodeType": "YulExpressionStatement", + "src": "22584:21:21" + }, + { + "nativeSrc": "22614:23:21", + "nodeType": "YulAssignment", + "src": "22614:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "22625:5:21", + "nodeType": "YulIdentifier", + "src": "22625:5:21" + }, + { + "kind": "number", + "nativeSrc": "22632:4:21", + "nodeType": "YulLiteral", + "src": "22632:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22621:3:21", + "nodeType": "YulIdentifier", + "src": "22621:3:21" + }, + "nativeSrc": "22621:16:21", + "nodeType": "YulFunctionCall", + "src": "22621:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "22614:3:21", + "nodeType": "YulIdentifier", + "src": "22614:3:21" + } + ] + }, + { + "nativeSrc": "22647:44:21", + "nodeType": "YulVariableDeclaration", + "src": "22647:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22665:6:21", + "nodeType": "YulIdentifier", + "src": "22665:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "22677:6:21", + "nodeType": "YulIdentifier", + "src": "22677:6:21" + }, + { + "kind": "number", + "nativeSrc": "22685:4:21", + "nodeType": "YulLiteral", + "src": "22685:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "22673:3:21", + "nodeType": "YulIdentifier", + "src": "22673:3:21" + }, + "nativeSrc": "22673:17:21", + "nodeType": "YulFunctionCall", + "src": "22673:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22661:3:21", + "nodeType": "YulIdentifier", + "src": "22661:3:21" + }, + "nativeSrc": "22661:30:21", + "nodeType": "YulFunctionCall", + "src": "22661:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "22651:6:21", + "nodeType": "YulTypedName", + "src": "22651:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22719:103:21", + "nodeType": "YulBlock", + "src": "22719:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "22733:77:21", + "nodeType": "YulIdentifier", + "src": "22733:77:21" + }, + "nativeSrc": "22733:79:21", + "nodeType": "YulFunctionCall", + "src": "22733:79:21" + }, + "nativeSrc": "22733:79:21", + "nodeType": "YulExpressionStatement", + "src": "22733:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "22706:6:21", + "nodeType": "YulIdentifier", + "src": "22706:6:21" + }, + { + "name": "end", + "nativeSrc": "22714:3:21", + "nodeType": "YulIdentifier", + "src": "22714:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22703:2:21", + "nodeType": "YulIdentifier", + "src": "22703:2:21" + }, + "nativeSrc": "22703:15:21", + "nodeType": "YulFunctionCall", + "src": "22703:15:21" + }, + "nativeSrc": "22700:122:21", + "nodeType": "YulIf", + "src": "22700:122:21" + }, + { + "body": { + "nativeSrc": "22907:144:21", + "nodeType": "YulBlock", + "src": "22907:144:21", + "statements": [ + { + "nativeSrc": "22922:21:21", + "nodeType": "YulVariableDeclaration", + "src": "22922:21:21", + "value": { + "name": "src", + "nativeSrc": "22940:3:21", + "nodeType": "YulIdentifier", + "src": "22940:3:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "22926:10:21", + "nodeType": "YulTypedName", + "src": "22926:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "22964:3:21", + "nodeType": "YulIdentifier", + "src": "22964:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "22990:10:21", + "nodeType": "YulIdentifier", + "src": "22990:10:21" + }, + { + "name": "end", + "nativeSrc": "23002:3:21", + "nodeType": "YulIdentifier", + "src": "23002:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "22969:20:21", + "nodeType": "YulIdentifier", + "src": "22969:20:21" + }, + "nativeSrc": "22969:37:21", + "nodeType": "YulFunctionCall", + "src": "22969:37:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22957:6:21", + "nodeType": "YulIdentifier", + "src": "22957:6:21" + }, + "nativeSrc": "22957:50:21", + "nodeType": "YulFunctionCall", + "src": "22957:50:21" + }, + "nativeSrc": "22957:50:21", + "nodeType": "YulExpressionStatement", + "src": "22957:50:21" + }, + { + "nativeSrc": "23020:21:21", + "nodeType": "YulAssignment", + "src": "23020:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "23031:3:21", + "nodeType": "YulIdentifier", + "src": "23031:3:21" + }, + { + "kind": "number", + "nativeSrc": "23036:4:21", + "nodeType": "YulLiteral", + "src": "23036:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23027:3:21", + "nodeType": "YulIdentifier", + "src": "23027:3:21" + }, + "nativeSrc": "23027:14:21", + "nodeType": "YulFunctionCall", + "src": "23027:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "23020:3:21", + "nodeType": "YulIdentifier", + "src": "23020:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22860:3:21", + "nodeType": "YulIdentifier", + "src": "22860:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "22865:6:21", + "nodeType": "YulIdentifier", + "src": "22865:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "22857:2:21", + "nodeType": "YulIdentifier", + "src": "22857:2:21" + }, + "nativeSrc": "22857:15:21", + "nodeType": "YulFunctionCall", + "src": "22857:15:21" + }, + "nativeSrc": "22831:220:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "22873:25:21", + "nodeType": "YulBlock", + "src": "22873:25:21", + "statements": [ + { + "nativeSrc": "22875:21:21", + "nodeType": "YulAssignment", + "src": "22875:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "22886:3:21", + "nodeType": "YulIdentifier", + "src": "22886:3:21" + }, + { + "kind": "number", + "nativeSrc": "22891:4:21", + "nodeType": "YulLiteral", + "src": "22891:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22882:3:21", + "nodeType": "YulIdentifier", + "src": "22882:3:21" + }, + "nativeSrc": "22882:14:21", + "nodeType": "YulFunctionCall", + "src": "22882:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "22875:3:21", + "nodeType": "YulIdentifier", + "src": "22875:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "22835:21:21", + "nodeType": "YulBlock", + "src": "22835:21:21", + "statements": [ + { + "nativeSrc": "22837:17:21", + "nodeType": "YulVariableDeclaration", + "src": "22837:17:21", + "value": { + "name": "offset", + "nativeSrc": "22848:6:21", + "nodeType": "YulIdentifier", + "src": "22848:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "22841:3:21", + "nodeType": "YulTypedName", + "src": "22841:3:21", + "type": "" + } + ] + } + ] + }, + "src": "22831:220:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "22347:710:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "22419:6:21", + "nodeType": "YulTypedName", + "src": "22419:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "22427:6:21", + "nodeType": "YulTypedName", + "src": "22427:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "22435:3:21", + "nodeType": "YulTypedName", + "src": "22435:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "22443:5:21", + "nodeType": "YulTypedName", + "src": "22443:5:21", + "type": "" + } + ], + "src": "22347:710:21" + }, + { + "body": { + "nativeSrc": "23157:293:21", + "nodeType": "YulBlock", + "src": "23157:293:21", + "statements": [ + { + "body": { + "nativeSrc": "23206:83:21", + "nodeType": "YulBlock", + "src": "23206:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "23208:77:21", + "nodeType": "YulIdentifier", + "src": "23208:77:21" + }, + "nativeSrc": "23208:79:21", + "nodeType": "YulFunctionCall", + "src": "23208:79:21" + }, + "nativeSrc": "23208:79:21", + "nodeType": "YulExpressionStatement", + "src": "23208:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23185:6:21", + "nodeType": "YulIdentifier", + "src": "23185:6:21" + }, + { + "kind": "number", + "nativeSrc": "23193:4:21", + "nodeType": "YulLiteral", + "src": "23193:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23181:3:21", + "nodeType": "YulIdentifier", + "src": "23181:3:21" + }, + "nativeSrc": "23181:17:21", + "nodeType": "YulFunctionCall", + "src": "23181:17:21" + }, + { + "name": "end", + "nativeSrc": "23200:3:21", + "nodeType": "YulIdentifier", + "src": "23200:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23177:3:21", + "nodeType": "YulIdentifier", + "src": "23177:3:21" + }, + "nativeSrc": "23177:27:21", + "nodeType": "YulFunctionCall", + "src": "23177:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "23170:6:21", + "nodeType": "YulIdentifier", + "src": "23170:6:21" + }, + "nativeSrc": "23170:35:21", + "nodeType": "YulFunctionCall", + "src": "23170:35:21" + }, + "nativeSrc": "23167:122:21", + "nodeType": "YulIf", + "src": "23167:122:21" + }, + { + "nativeSrc": "23298:34:21", + "nodeType": "YulVariableDeclaration", + "src": "23298:34:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23325:6:21", + "nodeType": "YulIdentifier", + "src": "23325:6:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "23312:12:21", + "nodeType": "YulIdentifier", + "src": "23312:12:21" + }, + "nativeSrc": "23312:20:21", + "nodeType": "YulFunctionCall", + "src": "23312:20:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "23302:6:21", + "nodeType": "YulTypedName", + "src": "23302:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "23341:103:21", + "nodeType": "YulAssignment", + "src": "23341:103:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23417:6:21", + "nodeType": "YulIdentifier", + "src": "23417:6:21" + }, + { + "kind": "number", + "nativeSrc": "23425:4:21", + "nodeType": "YulLiteral", + "src": "23425:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23413:3:21", + "nodeType": "YulIdentifier", + "src": "23413:3:21" + }, + "nativeSrc": "23413:17:21", + "nodeType": "YulFunctionCall", + "src": "23413:17:21" + }, + { + "name": "length", + "nativeSrc": "23432:6:21", + "nodeType": "YulIdentifier", + "src": "23432:6:21" + }, + { + "name": "end", + "nativeSrc": "23440:3:21", + "nodeType": "YulIdentifier", + "src": "23440:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "23350:62:21", + "nodeType": "YulIdentifier", + "src": "23350:62:21" + }, + "nativeSrc": "23350:94:21", + "nodeType": "YulFunctionCall", + "src": "23350:94:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "23341:5:21", + "nodeType": "YulIdentifier", + "src": "23341:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "23080:370:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "23135:6:21", + "nodeType": "YulTypedName", + "src": "23135:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "23143:3:21", + "nodeType": "YulTypedName", + "src": "23143:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "23151:5:21", + "nodeType": "YulTypedName", + "src": "23151:5:21", + "type": "" + } + ], + "src": "23080:370:21" + }, + { + "body": { + "nativeSrc": "23702:1481:21", + "nodeType": "YulBlock", + "src": "23702:1481:21", + "statements": [ + { + "body": { + "nativeSrc": "23749:83:21", + "nodeType": "YulBlock", + "src": "23749:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "23751:77:21", + "nodeType": "YulIdentifier", + "src": "23751:77:21" + }, + "nativeSrc": "23751:79:21", + "nodeType": "YulFunctionCall", + "src": "23751:79:21" + }, + "nativeSrc": "23751:79:21", + "nodeType": "YulExpressionStatement", + "src": "23751:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "23723:7:21", + "nodeType": "YulIdentifier", + "src": "23723:7:21" + }, + { + "name": "headStart", + "nativeSrc": "23732:9:21", + "nodeType": "YulIdentifier", + "src": "23732:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23719:3:21", + "nodeType": "YulIdentifier", + "src": "23719:3:21" + }, + "nativeSrc": "23719:23:21", + "nodeType": "YulFunctionCall", + "src": "23719:23:21" + }, + { + "kind": "number", + "nativeSrc": "23744:3:21", + "nodeType": "YulLiteral", + "src": "23744:3:21", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23715:3:21", + "nodeType": "YulIdentifier", + "src": "23715:3:21" + }, + "nativeSrc": "23715:33:21", + "nodeType": "YulFunctionCall", + "src": "23715:33:21" + }, + "nativeSrc": "23712:120:21", + "nodeType": "YulIf", + "src": "23712:120:21" + }, + { + "nativeSrc": "23842:137:21", + "nodeType": "YulBlock", + "src": "23842:137:21", + "statements": [ + { + "nativeSrc": "23857:15:21", + "nodeType": "YulVariableDeclaration", + "src": "23857:15:21", + "value": { + "kind": "number", + "nativeSrc": "23871:1:21", + "nodeType": "YulLiteral", + "src": "23871:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23861:6:21", + "nodeType": "YulTypedName", + "src": "23861:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "23886:83:21", + "nodeType": "YulAssignment", + "src": "23886:83:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23941:9:21", + "nodeType": "YulIdentifier", + "src": "23941:9:21" + }, + { + "name": "offset", + "nativeSrc": "23952:6:21", + "nodeType": "YulIdentifier", + "src": "23952:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23937:3:21", + "nodeType": "YulIdentifier", + "src": "23937:3:21" + }, + "nativeSrc": "23937:22:21", + "nodeType": "YulFunctionCall", + "src": "23937:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "23961:7:21", + "nodeType": "YulIdentifier", + "src": "23961:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_contract$_IEVMVerifier_$798", + "nativeSrc": "23896:40:21", + "nodeType": "YulIdentifier", + "src": "23896:40:21" + }, + "nativeSrc": "23896:73:21", + "nodeType": "YulFunctionCall", + "src": "23896:73:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "23886:6:21", + "nodeType": "YulIdentifier", + "src": "23886:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "23989:126:21", + "nodeType": "YulBlock", + "src": "23989:126:21", + "statements": [ + { + "nativeSrc": "24004:16:21", + "nodeType": "YulVariableDeclaration", + "src": "24004:16:21", + "value": { + "kind": "number", + "nativeSrc": "24018:2:21", + "nodeType": "YulLiteral", + "src": "24018:2:21", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24008:6:21", + "nodeType": "YulTypedName", + "src": "24008:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "24034:71:21", + "nodeType": "YulAssignment", + "src": "24034:71:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24077:9:21", + "nodeType": "YulIdentifier", + "src": "24077:9:21" + }, + { + "name": "offset", + "nativeSrc": "24088:6:21", + "nodeType": "YulIdentifier", + "src": "24088:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24073:3:21", + "nodeType": "YulIdentifier", + "src": "24073:3:21" + }, + "nativeSrc": "24073:22:21", + "nodeType": "YulFunctionCall", + "src": "24073:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24097:7:21", + "nodeType": "YulIdentifier", + "src": "24097:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_payable", + "nativeSrc": "24044:28:21", + "nodeType": "YulIdentifier", + "src": "24044:28:21" + }, + "nativeSrc": "24044:61:21", + "nodeType": "YulFunctionCall", + "src": "24044:61:21" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "24034:6:21", + "nodeType": "YulIdentifier", + "src": "24034:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24125:303:21", + "nodeType": "YulBlock", + "src": "24125:303:21", + "statements": [ + { + "nativeSrc": "24140:46:21", + "nodeType": "YulVariableDeclaration", + "src": "24140:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24171:9:21", + "nodeType": "YulIdentifier", + "src": "24171:9:21" + }, + { + "kind": "number", + "nativeSrc": "24182:2:21", + "nodeType": "YulLiteral", + "src": "24182:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24167:3:21", + "nodeType": "YulIdentifier", + "src": "24167:3:21" + }, + "nativeSrc": "24167:18:21", + "nodeType": "YulFunctionCall", + "src": "24167:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24154:12:21", + "nodeType": "YulIdentifier", + "src": "24154:12:21" + }, + "nativeSrc": "24154:32:21", + "nodeType": "YulFunctionCall", + "src": "24154:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24144:6:21", + "nodeType": "YulTypedName", + "src": "24144:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24233:83:21", + "nodeType": "YulBlock", + "src": "24233:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24235:77:21", + "nodeType": "YulIdentifier", + "src": "24235:77:21" + }, + "nativeSrc": "24235:79:21", + "nodeType": "YulFunctionCall", + "src": "24235:79:21" + }, + "nativeSrc": "24235:79:21", + "nodeType": "YulExpressionStatement", + "src": "24235:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24205:6:21", + "nodeType": "YulIdentifier", + "src": "24205:6:21" + }, + { + "kind": "number", + "nativeSrc": "24213:18:21", + "nodeType": "YulLiteral", + "src": "24213:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24202:2:21", + "nodeType": "YulIdentifier", + "src": "24202:2:21" + }, + "nativeSrc": "24202:30:21", + "nodeType": "YulFunctionCall", + "src": "24202:30:21" + }, + "nativeSrc": "24199:117:21", + "nodeType": "YulIf", + "src": "24199:117:21" + }, + { + "nativeSrc": "24330:88:21", + "nodeType": "YulAssignment", + "src": "24330:88:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24390:9:21", + "nodeType": "YulIdentifier", + "src": "24390:9:21" + }, + { + "name": "offset", + "nativeSrc": "24401:6:21", + "nodeType": "YulIdentifier", + "src": "24401:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24386:3:21", + "nodeType": "YulIdentifier", + "src": "24386:3:21" + }, + "nativeSrc": "24386:22:21", + "nodeType": "YulFunctionCall", + "src": "24386:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24410:7:21", + "nodeType": "YulIdentifier", + "src": "24410:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "24340:45:21", + "nodeType": "YulIdentifier", + "src": "24340:45:21" + }, + "nativeSrc": "24340:78:21", + "nodeType": "YulFunctionCall", + "src": "24340:78:21" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "24330:6:21", + "nodeType": "YulIdentifier", + "src": "24330:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24438:312:21", + "nodeType": "YulBlock", + "src": "24438:312:21", + "statements": [ + { + "nativeSrc": "24453:46:21", + "nodeType": "YulVariableDeclaration", + "src": "24453:46:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24484:9:21", + "nodeType": "YulIdentifier", + "src": "24484:9:21" + }, + { + "kind": "number", + "nativeSrc": "24495:2:21", + "nodeType": "YulLiteral", + "src": "24495:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24480:3:21", + "nodeType": "YulIdentifier", + "src": "24480:3:21" + }, + "nativeSrc": "24480:18:21", + "nodeType": "YulFunctionCall", + "src": "24480:18:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24467:12:21", + "nodeType": "YulIdentifier", + "src": "24467:12:21" + }, + "nativeSrc": "24467:32:21", + "nodeType": "YulFunctionCall", + "src": "24467:32:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24457:6:21", + "nodeType": "YulTypedName", + "src": "24457:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24546:83:21", + "nodeType": "YulBlock", + "src": "24546:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24548:77:21", + "nodeType": "YulIdentifier", + "src": "24548:77:21" + }, + "nativeSrc": "24548:79:21", + "nodeType": "YulFunctionCall", + "src": "24548:79:21" + }, + "nativeSrc": "24548:79:21", + "nodeType": "YulExpressionStatement", + "src": "24548:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24518:6:21", + "nodeType": "YulIdentifier", + "src": "24518:6:21" + }, + { + "kind": "number", + "nativeSrc": "24526:18:21", + "nodeType": "YulLiteral", + "src": "24526:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24515:2:21", + "nodeType": "YulIdentifier", + "src": "24515:2:21" + }, + "nativeSrc": "24515:30:21", + "nodeType": "YulFunctionCall", + "src": "24515:30:21" + }, + "nativeSrc": "24512:117:21", + "nodeType": "YulIf", + "src": "24512:117:21" + }, + { + "nativeSrc": "24643:97:21", + "nodeType": "YulAssignment", + "src": "24643:97:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24712:9:21", + "nodeType": "YulIdentifier", + "src": "24712:9:21" + }, + { + "name": "offset", + "nativeSrc": "24723:6:21", + "nodeType": "YulIdentifier", + "src": "24723:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24708:3:21", + "nodeType": "YulIdentifier", + "src": "24708:3:21" + }, + "nativeSrc": "24708:22:21", + "nodeType": "YulFunctionCall", + "src": "24708:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24732:7:21", + "nodeType": "YulIdentifier", + "src": "24732:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "24653:54:21", + "nodeType": "YulIdentifier", + "src": "24653:54:21" + }, + "nativeSrc": "24653:87:21", + "nodeType": "YulFunctionCall", + "src": "24653:87:21" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "24643:6:21", + "nodeType": "YulIdentifier", + "src": "24643:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24760:118:21", + "nodeType": "YulBlock", + "src": "24760:118:21", + "statements": [ + { + "nativeSrc": "24775:17:21", + "nodeType": "YulVariableDeclaration", + "src": "24775:17:21", + "value": { + "kind": "number", + "nativeSrc": "24789:3:21", + "nodeType": "YulLiteral", + "src": "24789:3:21", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24779:6:21", + "nodeType": "YulTypedName", + "src": "24779:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "24806:62:21", + "nodeType": "YulAssignment", + "src": "24806:62:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24840:9:21", + "nodeType": "YulIdentifier", + "src": "24840:9:21" + }, + { + "name": "offset", + "nativeSrc": "24851:6:21", + "nodeType": "YulIdentifier", + "src": "24851:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24836:3:21", + "nodeType": "YulIdentifier", + "src": "24836:3:21" + }, + "nativeSrc": "24836:22:21", + "nodeType": "YulFunctionCall", + "src": "24836:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "24860:7:21", + "nodeType": "YulIdentifier", + "src": "24860:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nativeSrc": "24816:19:21", + "nodeType": "YulIdentifier", + "src": "24816:19:21" + }, + "nativeSrc": "24816:52:21", + "nodeType": "YulFunctionCall", + "src": "24816:52:21" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "24806:6:21", + "nodeType": "YulIdentifier", + "src": "24806:6:21" + } + ] + } + ] + }, + { + "nativeSrc": "24888:288:21", + "nodeType": "YulBlock", + "src": "24888:288:21", + "statements": [ + { + "nativeSrc": "24903:47:21", + "nodeType": "YulVariableDeclaration", + "src": "24903:47:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24934:9:21", + "nodeType": "YulIdentifier", + "src": "24934:9:21" + }, + { + "kind": "number", + "nativeSrc": "24945:3:21", + "nodeType": "YulLiteral", + "src": "24945:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24930:3:21", + "nodeType": "YulIdentifier", + "src": "24930:3:21" + }, + "nativeSrc": "24930:19:21", + "nodeType": "YulFunctionCall", + "src": "24930:19:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "24917:12:21", + "nodeType": "YulIdentifier", + "src": "24917:12:21" + }, + "nativeSrc": "24917:33:21", + "nodeType": "YulFunctionCall", + "src": "24917:33:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24907:6:21", + "nodeType": "YulTypedName", + "src": "24907:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24997:83:21", + "nodeType": "YulBlock", + "src": "24997:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "24999:77:21", + "nodeType": "YulIdentifier", + "src": "24999:77:21" + }, + "nativeSrc": "24999:79:21", + "nodeType": "YulFunctionCall", + "src": "24999:79:21" + }, + "nativeSrc": "24999:79:21", + "nodeType": "YulExpressionStatement", + "src": "24999:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24969:6:21", + "nodeType": "YulIdentifier", + "src": "24969:6:21" + }, + { + "kind": "number", + "nativeSrc": "24977:18:21", + "nodeType": "YulLiteral", + "src": "24977:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24966:2:21", + "nodeType": "YulIdentifier", + "src": "24966:2:21" + }, + "nativeSrc": "24966:30:21", + "nodeType": "YulFunctionCall", + "src": "24966:30:21" + }, + "nativeSrc": "24963:117:21", + "nodeType": "YulIf", + "src": "24963:117:21" + }, + { + "nativeSrc": "25094:72:21", + "nodeType": "YulAssignment", + "src": "25094:72:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "25138:9:21", + "nodeType": "YulIdentifier", + "src": "25138:9:21" + }, + { + "name": "offset", + "nativeSrc": "25149:6:21", + "nodeType": "YulIdentifier", + "src": "25149:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25134:3:21", + "nodeType": "YulIdentifier", + "src": "25134:3:21" + }, + "nativeSrc": "25134:22:21", + "nodeType": "YulFunctionCall", + "src": "25134:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "25158:7:21", + "nodeType": "YulIdentifier", + "src": "25158:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nativeSrc": "25104:29:21", + "nodeType": "YulIdentifier", + "src": "25104:29:21" + }, + "nativeSrc": "25104:62:21", + "nodeType": "YulFunctionCall", + "src": "25104:62:21" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "25094:6:21", + "nodeType": "YulIdentifier", + "src": "25094:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr", + "nativeSrc": "23456:1727:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23632:9:21", + "nodeType": "YulTypedName", + "src": "23632:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "23643:7:21", + "nodeType": "YulTypedName", + "src": "23643:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "23655:6:21", + "nodeType": "YulTypedName", + "src": "23655:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "23663:6:21", + "nodeType": "YulTypedName", + "src": "23663:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "23671:6:21", + "nodeType": "YulTypedName", + "src": "23671:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "23679:6:21", + "nodeType": "YulTypedName", + "src": "23679:6:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "23687:6:21", + "nodeType": "YulTypedName", + "src": "23687:6:21", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "23695:6:21", + "nodeType": "YulTypedName", + "src": "23695:6:21", + "type": "" + } + ], + "src": "23456:1727:21" + }, + { + "body": { + "nativeSrc": "25263:40:21", + "nodeType": "YulBlock", + "src": "25263:40:21", + "statements": [ + { + "nativeSrc": "25274:22:21", + "nodeType": "YulAssignment", + "src": "25274:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "25290:5:21", + "nodeType": "YulIdentifier", + "src": "25290:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25284:5:21", + "nodeType": "YulIdentifier", + "src": "25284:5:21" + }, + "nativeSrc": "25284:12:21", + "nodeType": "YulFunctionCall", + "src": "25284:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "25274:6:21", + "nodeType": "YulIdentifier", + "src": "25274:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25189:114:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "25246:5:21", + "nodeType": "YulTypedName", + "src": "25246:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "25256:6:21", + "nodeType": "YulTypedName", + "src": "25256:6:21", + "type": "" + } + ], + "src": "25189:114:21" + }, + { + "body": { + "nativeSrc": "25420:73:21", + "nodeType": "YulBlock", + "src": "25420:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25437:3:21", + "nodeType": "YulIdentifier", + "src": "25437:3:21" + }, + { + "name": "length", + "nativeSrc": "25442:6:21", + "nodeType": "YulIdentifier", + "src": "25442:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25430:6:21", + "nodeType": "YulIdentifier", + "src": "25430:6:21" + }, + "nativeSrc": "25430:19:21", + "nodeType": "YulFunctionCall", + "src": "25430:19:21" + }, + "nativeSrc": "25430:19:21", + "nodeType": "YulExpressionStatement", + "src": "25430:19:21" + }, + { + "nativeSrc": "25458:29:21", + "nodeType": "YulAssignment", + "src": "25458:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25477:3:21", + "nodeType": "YulIdentifier", + "src": "25477:3:21" + }, + { + "kind": "number", + "nativeSrc": "25482:4:21", + "nodeType": "YulLiteral", + "src": "25482:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25473:3:21", + "nodeType": "YulIdentifier", + "src": "25473:3:21" + }, + "nativeSrc": "25473:14:21", + "nodeType": "YulFunctionCall", + "src": "25473:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "25458:11:21", + "nodeType": "YulIdentifier", + "src": "25458:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "25309:184:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "25392:3:21", + "nodeType": "YulTypedName", + "src": "25392:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "25397:6:21", + "nodeType": "YulTypedName", + "src": "25397:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "25408:11:21", + "nodeType": "YulTypedName", + "src": "25408:11:21", + "type": "" + } + ], + "src": "25309:184:21" + }, + { + "body": { + "nativeSrc": "25571:60:21", + "nodeType": "YulBlock", + "src": "25571:60:21", + "statements": [ + { + "nativeSrc": "25581:11:21", + "nodeType": "YulAssignment", + "src": "25581:11:21", + "value": { + "name": "ptr", + "nativeSrc": "25589:3:21", + "nodeType": "YulIdentifier", + "src": "25589:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "25581:4:21", + "nodeType": "YulIdentifier", + "src": "25581:4:21" + } + ] + }, + { + "nativeSrc": "25602:22:21", + "nodeType": "YulAssignment", + "src": "25602:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "25614:3:21", + "nodeType": "YulIdentifier", + "src": "25614:3:21" + }, + { + "kind": "number", + "nativeSrc": "25619:4:21", + "nodeType": "YulLiteral", + "src": "25619:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25610:3:21", + "nodeType": "YulIdentifier", + "src": "25610:3:21" + }, + "nativeSrc": "25610:14:21", + "nodeType": "YulFunctionCall", + "src": "25610:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "25602:4:21", + "nodeType": "YulIdentifier", + "src": "25602:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25499:132:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "25558:3:21", + "nodeType": "YulTypedName", + "src": "25558:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "25566:4:21", + "nodeType": "YulTypedName", + "src": "25566:4:21", + "type": "" + } + ], + "src": "25499:132:21" + }, + { + "body": { + "nativeSrc": "25692:53:21", + "nodeType": "YulBlock", + "src": "25692:53:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25709:3:21", + "nodeType": "YulIdentifier", + "src": "25709:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25732:5:21", + "nodeType": "YulIdentifier", + "src": "25732:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "25714:17:21", + "nodeType": "YulIdentifier", + "src": "25714:17:21" + }, + "nativeSrc": "25714:24:21", + "nodeType": "YulFunctionCall", + "src": "25714:24:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25702:6:21", + "nodeType": "YulIdentifier", + "src": "25702:6:21" + }, + "nativeSrc": "25702:37:21", + "nodeType": "YulFunctionCall", + "src": "25702:37:21" + }, + "nativeSrc": "25702:37:21", + "nodeType": "YulExpressionStatement", + "src": "25702:37:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nativeSrc": "25637:108:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "25680:5:21", + "nodeType": "YulTypedName", + "src": "25680:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "25687:3:21", + "nodeType": "YulTypedName", + "src": "25687:3:21", + "type": "" + } + ], + "src": "25637:108:21" + }, + { + "body": { + "nativeSrc": "25831:99:21", + "nodeType": "YulBlock", + "src": "25831:99:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "25875:6:21", + "nodeType": "YulIdentifier", + "src": "25875:6:21" + }, + { + "name": "pos", + "nativeSrc": "25883:3:21", + "nodeType": "YulIdentifier", + "src": "25883:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nativeSrc": "25841:33:21", + "nodeType": "YulIdentifier", + "src": "25841:33:21" + }, + "nativeSrc": "25841:46:21", + "nodeType": "YulFunctionCall", + "src": "25841:46:21" + }, + "nativeSrc": "25841:46:21", + "nodeType": "YulExpressionStatement", + "src": "25841:46:21" + }, + { + "nativeSrc": "25896:28:21", + "nodeType": "YulAssignment", + "src": "25896:28:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25914:3:21", + "nodeType": "YulIdentifier", + "src": "25914:3:21" + }, + { + "kind": "number", + "nativeSrc": "25919:4:21", + "nodeType": "YulLiteral", + "src": "25919:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25910:3:21", + "nodeType": "YulIdentifier", + "src": "25910:3:21" + }, + "nativeSrc": "25910:14:21", + "nodeType": "YulFunctionCall", + "src": "25910:14:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "25896:10:21", + "nodeType": "YulIdentifier", + "src": "25896:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32", + "nativeSrc": "25751:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "25804:6:21", + "nodeType": "YulTypedName", + "src": "25804:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "25812:3:21", + "nodeType": "YulTypedName", + "src": "25812:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "25820:10:21", + "nodeType": "YulTypedName", + "src": "25820:10:21", + "type": "" + } + ], + "src": "25751:179:21" + }, + { + "body": { + "nativeSrc": "26011:38:21", + "nodeType": "YulBlock", + "src": "26011:38:21", + "statements": [ + { + "nativeSrc": "26021:22:21", + "nodeType": "YulAssignment", + "src": "26021:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "26033:3:21", + "nodeType": "YulIdentifier", + "src": "26033:3:21" + }, + { + "kind": "number", + "nativeSrc": "26038:4:21", + "nodeType": "YulLiteral", + "src": "26038:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26029:3:21", + "nodeType": "YulIdentifier", + "src": "26029:3:21" + }, + "nativeSrc": "26029:14:21", + "nodeType": "YulFunctionCall", + "src": "26029:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "26021:4:21", + "nodeType": "YulIdentifier", + "src": "26021:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "25936:113:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "25998:3:21", + "nodeType": "YulTypedName", + "src": "25998:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "26006:4:21", + "nodeType": "YulTypedName", + "src": "26006:4:21", + "type": "" + } + ], + "src": "25936:113:21" + }, + { + "body": { + "nativeSrc": "26209:608:21", + "nodeType": "YulBlock", + "src": "26209:608:21", + "statements": [ + { + "nativeSrc": "26219:68:21", + "nodeType": "YulVariableDeclaration", + "src": "26219:68:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26281:5:21", + "nodeType": "YulIdentifier", + "src": "26281:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26233:47:21", + "nodeType": "YulIdentifier", + "src": "26233:47:21" + }, + "nativeSrc": "26233:54:21", + "nodeType": "YulFunctionCall", + "src": "26233:54:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "26223:6:21", + "nodeType": "YulTypedName", + "src": "26223:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26296:93:21", + "nodeType": "YulAssignment", + "src": "26296:93:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "26377:3:21", + "nodeType": "YulIdentifier", + "src": "26377:3:21" + }, + { + "name": "length", + "nativeSrc": "26382:6:21", + "nodeType": "YulIdentifier", + "src": "26382:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "26303:73:21", + "nodeType": "YulIdentifier", + "src": "26303:73:21" + }, + "nativeSrc": "26303:86:21", + "nodeType": "YulFunctionCall", + "src": "26303:86:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "26296:3:21", + "nodeType": "YulIdentifier", + "src": "26296:3:21" + } + ] + }, + { + "nativeSrc": "26398:71:21", + "nodeType": "YulVariableDeclaration", + "src": "26398:71:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26463:5:21", + "nodeType": "YulIdentifier", + "src": "26463:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26413:49:21", + "nodeType": "YulIdentifier", + "src": "26413:49:21" + }, + "nativeSrc": "26413:56:21", + "nodeType": "YulFunctionCall", + "src": "26413:56:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "26402:7:21", + "nodeType": "YulTypedName", + "src": "26402:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26478:21:21", + "nodeType": "YulVariableDeclaration", + "src": "26478:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "26492:7:21", + "nodeType": "YulIdentifier", + "src": "26492:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "26482:6:21", + "nodeType": "YulTypedName", + "src": "26482:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "26568:224:21", + "nodeType": "YulBlock", + "src": "26568:224:21", + "statements": [ + { + "nativeSrc": "26582:34:21", + "nodeType": "YulVariableDeclaration", + "src": "26582:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "26609:6:21", + "nodeType": "YulIdentifier", + "src": "26609:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26603:5:21", + "nodeType": "YulIdentifier", + "src": "26603:5:21" + }, + "nativeSrc": "26603:13:21", + "nodeType": "YulFunctionCall", + "src": "26603:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "26586:13:21", + "nodeType": "YulTypedName", + "src": "26586:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "26629:70:21", + "nodeType": "YulAssignment", + "src": "26629:70:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "26680:13:21", + "nodeType": "YulIdentifier", + "src": "26680:13:21" + }, + { + "name": "pos", + "nativeSrc": "26695:3:21", + "nodeType": "YulIdentifier", + "src": "26695:3:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes32_to_t_bytes32", + "nativeSrc": "26636:43:21", + "nodeType": "YulIdentifier", + "src": "26636:43:21" + }, + "nativeSrc": "26636:63:21", + "nodeType": "YulFunctionCall", + "src": "26636:63:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "26629:3:21", + "nodeType": "YulIdentifier", + "src": "26629:3:21" + } + ] + }, + { + "nativeSrc": "26712:70:21", + "nodeType": "YulAssignment", + "src": "26712:70:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "26775:6:21", + "nodeType": "YulIdentifier", + "src": "26775:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr", + "nativeSrc": "26722:52:21", + "nodeType": "YulIdentifier", + "src": "26722:52:21" + }, + "nativeSrc": "26722:60:21", + "nodeType": "YulFunctionCall", + "src": "26722:60:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "26712:6:21", + "nodeType": "YulIdentifier", + "src": "26712:6:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26530:1:21", + "nodeType": "YulIdentifier", + "src": "26530:1:21" + }, + { + "name": "length", + "nativeSrc": "26533:6:21", + "nodeType": "YulIdentifier", + "src": "26533:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "26527:2:21", + "nodeType": "YulIdentifier", + "src": "26527:2:21" + }, + "nativeSrc": "26527:13:21", + "nodeType": "YulFunctionCall", + "src": "26527:13:21" + }, + "nativeSrc": "26508:284:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "26541:18:21", + "nodeType": "YulBlock", + "src": "26541:18:21", + "statements": [ + { + "nativeSrc": "26543:14:21", + "nodeType": "YulAssignment", + "src": "26543:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "26552:1:21", + "nodeType": "YulIdentifier", + "src": "26552:1:21" + }, + { + "kind": "number", + "nativeSrc": "26555:1:21", + "nodeType": "YulLiteral", + "src": "26555:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "26548:3:21", + "nodeType": "YulIdentifier", + "src": "26548:3:21" + }, + "nativeSrc": "26548:9:21", + "nodeType": "YulFunctionCall", + "src": "26548:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "26543:1:21", + "nodeType": "YulIdentifier", + "src": "26543:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "26512:14:21", + "nodeType": "YulBlock", + "src": "26512:14:21", + "statements": [ + { + "nativeSrc": "26514:10:21", + "nodeType": "YulVariableDeclaration", + "src": "26514:10:21", + "value": { + "kind": "number", + "nativeSrc": "26523:1:21", + "nodeType": "YulLiteral", + "src": "26523:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "26518:1:21", + "nodeType": "YulTypedName", + "src": "26518:1:21", + "type": "" + } + ] + } + ] + }, + "src": "26508:284:21" + }, + { + "nativeSrc": "26801:10:21", + "nodeType": "YulAssignment", + "src": "26801:10:21", + "value": { + "name": "pos", + "nativeSrc": "26808:3:21", + "nodeType": "YulIdentifier", + "src": "26808:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "26801:3:21", + "nodeType": "YulIdentifier", + "src": "26801:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "26085:732:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26188:5:21", + "nodeType": "YulTypedName", + "src": "26188:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "26195:3:21", + "nodeType": "YulTypedName", + "src": "26195:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "26204:3:21", + "nodeType": "YulTypedName", + "src": "26204:3:21", + "type": "" + } + ], + "src": "26085:732:21" + }, + { + "body": { + "nativeSrc": "26906:40:21", + "nodeType": "YulBlock", + "src": "26906:40:21", + "statements": [ + { + "nativeSrc": "26917:22:21", + "nodeType": "YulAssignment", + "src": "26917:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "26933:5:21", + "nodeType": "YulIdentifier", + "src": "26933:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "26927:5:21", + "nodeType": "YulIdentifier", + "src": "26927:5:21" + }, + "nativeSrc": "26927:12:21", + "nodeType": "YulFunctionCall", + "src": "26927:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "26917:6:21", + "nodeType": "YulIdentifier", + "src": "26917:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "26823:123:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "26889:5:21", + "nodeType": "YulTypedName", + "src": "26889:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "26899:6:21", + "nodeType": "YulTypedName", + "src": "26899:6:21", + "type": "" + } + ], + "src": "26823:123:21" + }, + { + "body": { + "nativeSrc": "27072:73:21", + "nodeType": "YulBlock", + "src": "27072:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27089:3:21", + "nodeType": "YulIdentifier", + "src": "27089:3:21" + }, + { + "name": "length", + "nativeSrc": "27094:6:21", + "nodeType": "YulIdentifier", + "src": "27094:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27082:6:21", + "nodeType": "YulIdentifier", + "src": "27082:6:21" + }, + "nativeSrc": "27082:19:21", + "nodeType": "YulFunctionCall", + "src": "27082:19:21" + }, + "nativeSrc": "27082:19:21", + "nodeType": "YulExpressionStatement", + "src": "27082:19:21" + }, + { + "nativeSrc": "27110:29:21", + "nodeType": "YulAssignment", + "src": "27110:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27129:3:21", + "nodeType": "YulIdentifier", + "src": "27129:3:21" + }, + { + "kind": "number", + "nativeSrc": "27134:4:21", + "nodeType": "YulLiteral", + "src": "27134:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27125:3:21", + "nodeType": "YulIdentifier", + "src": "27125:3:21" + }, + "nativeSrc": "27125:14:21", + "nodeType": "YulFunctionCall", + "src": "27125:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "27110:11:21", + "nodeType": "YulIdentifier", + "src": "27110:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "26952:193:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "27044:3:21", + "nodeType": "YulTypedName", + "src": "27044:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "27049:6:21", + "nodeType": "YulTypedName", + "src": "27049:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "27060:11:21", + "nodeType": "YulTypedName", + "src": "27060:11:21", + "type": "" + } + ], + "src": "26952:193:21" + }, + { + "body": { + "nativeSrc": "27232:60:21", + "nodeType": "YulBlock", + "src": "27232:60:21", + "statements": [ + { + "nativeSrc": "27242:11:21", + "nodeType": "YulAssignment", + "src": "27242:11:21", + "value": { + "name": "ptr", + "nativeSrc": "27250:3:21", + "nodeType": "YulIdentifier", + "src": "27250:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "27242:4:21", + "nodeType": "YulIdentifier", + "src": "27242:4:21" + } + ] + }, + { + "nativeSrc": "27263:22:21", + "nodeType": "YulAssignment", + "src": "27263:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "27275:3:21", + "nodeType": "YulIdentifier", + "src": "27275:3:21" + }, + { + "kind": "number", + "nativeSrc": "27280:4:21", + "nodeType": "YulLiteral", + "src": "27280:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27271:3:21", + "nodeType": "YulIdentifier", + "src": "27271:3:21" + }, + "nativeSrc": "27271:14:21", + "nodeType": "YulFunctionCall", + "src": "27271:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "27263:4:21", + "nodeType": "YulIdentifier", + "src": "27263:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "27151:141:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "27219:3:21", + "nodeType": "YulTypedName", + "src": "27219:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "27227:4:21", + "nodeType": "YulTypedName", + "src": "27227:4:21", + "type": "" + } + ], + "src": "27151:141:21" + }, + { + "body": { + "nativeSrc": "27383:73:21", + "nodeType": "YulBlock", + "src": "27383:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27400:3:21", + "nodeType": "YulIdentifier", + "src": "27400:3:21" + }, + { + "name": "length", + "nativeSrc": "27405:6:21", + "nodeType": "YulIdentifier", + "src": "27405:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "27393:6:21", + "nodeType": "YulIdentifier", + "src": "27393:6:21" + }, + "nativeSrc": "27393:19:21", + "nodeType": "YulFunctionCall", + "src": "27393:19:21" + }, + "nativeSrc": "27393:19:21", + "nodeType": "YulExpressionStatement", + "src": "27393:19:21" + }, + { + "nativeSrc": "27421:29:21", + "nodeType": "YulAssignment", + "src": "27421:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27440:3:21", + "nodeType": "YulIdentifier", + "src": "27440:3:21" + }, + { + "kind": "number", + "nativeSrc": "27445:4:21", + "nodeType": "YulLiteral", + "src": "27445:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27436:3:21", + "nodeType": "YulIdentifier", + "src": "27436:3:21" + }, + "nativeSrc": "27436:14:21", + "nodeType": "YulFunctionCall", + "src": "27436:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "27421:11:21", + "nodeType": "YulIdentifier", + "src": "27421:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nativeSrc": "27298:158:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "27355:3:21", + "nodeType": "YulTypedName", + "src": "27355:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "27360:6:21", + "nodeType": "YulTypedName", + "src": "27360:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "27371:11:21", + "nodeType": "YulTypedName", + "src": "27371:11:21", + "type": "" + } + ], + "src": "27298:158:21" + }, + { + "body": { + "nativeSrc": "27542:273:21", + "nodeType": "YulBlock", + "src": "27542:273:21", + "statements": [ + { + "nativeSrc": "27552:52:21", + "nodeType": "YulVariableDeclaration", + "src": "27552:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "27598:5:21", + "nodeType": "YulIdentifier", + "src": "27598:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "27566:31:21", + "nodeType": "YulIdentifier", + "src": "27566:31:21" + }, + "nativeSrc": "27566:38:21", + "nodeType": "YulFunctionCall", + "src": "27566:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "27556:6:21", + "nodeType": "YulTypedName", + "src": "27556:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "27613:67:21", + "nodeType": "YulAssignment", + "src": "27613:67:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27668:3:21", + "nodeType": "YulIdentifier", + "src": "27668:3:21" + }, + { + "name": "length", + "nativeSrc": "27673:6:21", + "nodeType": "YulIdentifier", + "src": "27673:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nativeSrc": "27620:47:21", + "nodeType": "YulIdentifier", + "src": "27620:47:21" + }, + "nativeSrc": "27620:60:21", + "nodeType": "YulFunctionCall", + "src": "27620:60:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "27613:3:21", + "nodeType": "YulIdentifier", + "src": "27613:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "27728:5:21", + "nodeType": "YulIdentifier", + "src": "27728:5:21" + }, + { + "kind": "number", + "nativeSrc": "27735:4:21", + "nodeType": "YulLiteral", + "src": "27735:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27724:3:21", + "nodeType": "YulIdentifier", + "src": "27724:3:21" + }, + "nativeSrc": "27724:16:21", + "nodeType": "YulFunctionCall", + "src": "27724:16:21" + }, + { + "name": "pos", + "nativeSrc": "27742:3:21", + "nodeType": "YulIdentifier", + "src": "27742:3:21" + }, + { + "name": "length", + "nativeSrc": "27747:6:21", + "nodeType": "YulIdentifier", + "src": "27747:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "27689:34:21", + "nodeType": "YulIdentifier", + "src": "27689:34:21" + }, + "nativeSrc": "27689:65:21", + "nodeType": "YulFunctionCall", + "src": "27689:65:21" + }, + "nativeSrc": "27689:65:21", + "nodeType": "YulExpressionStatement", + "src": "27689:65:21" + }, + { + "nativeSrc": "27763:46:21", + "nodeType": "YulAssignment", + "src": "27763:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "27774:3:21", + "nodeType": "YulIdentifier", + "src": "27774:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "27801:6:21", + "nodeType": "YulIdentifier", + "src": "27801:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "27779:21:21", + "nodeType": "YulIdentifier", + "src": "27779:21:21" + }, + "nativeSrc": "27779:29:21", + "nodeType": "YulFunctionCall", + "src": "27779:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "27770:3:21", + "nodeType": "YulIdentifier", + "src": "27770:3:21" + }, + "nativeSrc": "27770:39:21", + "nodeType": "YulFunctionCall", + "src": "27770:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "27763:3:21", + "nodeType": "YulIdentifier", + "src": "27763:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27462:353:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "27523:5:21", + "nodeType": "YulTypedName", + "src": "27523:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "27530:3:21", + "nodeType": "YulTypedName", + "src": "27530:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "27538:3:21", + "nodeType": "YulTypedName", + "src": "27538:3:21", + "type": "" + } + ], + "src": "27462:353:21" + }, + { + "body": { + "nativeSrc": "27919:94:21", + "nodeType": "YulBlock", + "src": "27919:94:21", + "statements": [ + { + "nativeSrc": "27929:78:21", + "nodeType": "YulAssignment", + "src": "27929:78:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "27995:6:21", + "nodeType": "YulIdentifier", + "src": "27995:6:21" + }, + { + "name": "pos", + "nativeSrc": "28003:3:21", + "nodeType": "YulIdentifier", + "src": "28003:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27943:51:21", + "nodeType": "YulIdentifier", + "src": "27943:51:21" + }, + "nativeSrc": "27943:64:21", + "nodeType": "YulFunctionCall", + "src": "27943:64:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "27929:10:21", + "nodeType": "YulIdentifier", + "src": "27929:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "27821:192:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "27892:6:21", + "nodeType": "YulTypedName", + "src": "27892:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "27900:3:21", + "nodeType": "YulTypedName", + "src": "27900:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "27908:10:21", + "nodeType": "YulTypedName", + "src": "27908:10:21", + "type": "" + } + ], + "src": "27821:192:21" + }, + { + "body": { + "nativeSrc": "28103:38:21", + "nodeType": "YulBlock", + "src": "28103:38:21", + "statements": [ + { + "nativeSrc": "28113:22:21", + "nodeType": "YulAssignment", + "src": "28113:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "28125:3:21", + "nodeType": "YulIdentifier", + "src": "28125:3:21" + }, + { + "kind": "number", + "nativeSrc": "28130:4:21", + "nodeType": "YulLiteral", + "src": "28130:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28121:3:21", + "nodeType": "YulIdentifier", + "src": "28121:3:21" + }, + "nativeSrc": "28121:14:21", + "nodeType": "YulFunctionCall", + "src": "28121:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "28113:4:21", + "nodeType": "YulIdentifier", + "src": "28113:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28019:122:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "28090:3:21", + "nodeType": "YulTypedName", + "src": "28090:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "28098:4:21", + "nodeType": "YulTypedName", + "src": "28098:4:21", + "type": "" + } + ], + "src": "28019:122:21" + }, + { + "body": { + "nativeSrc": "28315:841:21", + "nodeType": "YulBlock", + "src": "28315:841:21", + "statements": [ + { + "nativeSrc": "28325:77:21", + "nodeType": "YulVariableDeclaration", + "src": "28325:77:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "28396:5:21", + "nodeType": "YulIdentifier", + "src": "28396:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28339:56:21", + "nodeType": "YulIdentifier", + "src": "28339:56:21" + }, + "nativeSrc": "28339:63:21", + "nodeType": "YulFunctionCall", + "src": "28339:63:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "28329:6:21", + "nodeType": "YulTypedName", + "src": "28329:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28411:102:21", + "nodeType": "YulAssignment", + "src": "28411:102:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28501:3:21", + "nodeType": "YulIdentifier", + "src": "28501:3:21" + }, + { + "name": "length", + "nativeSrc": "28506:6:21", + "nodeType": "YulIdentifier", + "src": "28506:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "28418:82:21", + "nodeType": "YulIdentifier", + "src": "28418:82:21" + }, + "nativeSrc": "28418:95:21", + "nodeType": "YulFunctionCall", + "src": "28418:95:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "28411:3:21", + "nodeType": "YulIdentifier", + "src": "28411:3:21" + } + ] + }, + { + "nativeSrc": "28522:20:21", + "nodeType": "YulVariableDeclaration", + "src": "28522:20:21", + "value": { + "name": "pos", + "nativeSrc": "28539:3:21", + "nodeType": "YulIdentifier", + "src": "28539:3:21" + }, + "variables": [ + { + "name": "headStart", + "nativeSrc": "28526:9:21", + "nodeType": "YulTypedName", + "src": "28526:9:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28551:39:21", + "nodeType": "YulVariableDeclaration", + "src": "28551:39:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28567:3:21", + "nodeType": "YulIdentifier", + "src": "28567:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "28576:6:21", + "nodeType": "YulIdentifier", + "src": "28576:6:21" + }, + { + "kind": "number", + "nativeSrc": "28584:4:21", + "nodeType": "YulLiteral", + "src": "28584:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "28572:3:21", + "nodeType": "YulIdentifier", + "src": "28572:3:21" + }, + "nativeSrc": "28572:17:21", + "nodeType": "YulFunctionCall", + "src": "28572:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28563:3:21", + "nodeType": "YulIdentifier", + "src": "28563:3:21" + }, + "nativeSrc": "28563:27:21", + "nodeType": "YulFunctionCall", + "src": "28563:27:21" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "28555:4:21", + "nodeType": "YulTypedName", + "src": "28555:4:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28599:80:21", + "nodeType": "YulVariableDeclaration", + "src": "28599:80:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "28673:5:21", + "nodeType": "YulIdentifier", + "src": "28673:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28614:58:21", + "nodeType": "YulIdentifier", + "src": "28614:58:21" + }, + "nativeSrc": "28614:65:21", + "nodeType": "YulFunctionCall", + "src": "28614:65:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "28603:7:21", + "nodeType": "YulTypedName", + "src": "28603:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28688:21:21", + "nodeType": "YulVariableDeclaration", + "src": "28688:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "28702:7:21", + "nodeType": "YulIdentifier", + "src": "28702:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "28692:6:21", + "nodeType": "YulTypedName", + "src": "28692:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "28778:333:21", + "nodeType": "YulBlock", + "src": "28778:333:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "28799:3:21", + "nodeType": "YulIdentifier", + "src": "28799:3:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "28808:4:21", + "nodeType": "YulIdentifier", + "src": "28808:4:21" + }, + { + "name": "headStart", + "nativeSrc": "28814:9:21", + "nodeType": "YulIdentifier", + "src": "28814:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "28804:3:21", + "nodeType": "YulIdentifier", + "src": "28804:3:21" + }, + "nativeSrc": "28804:20:21", + "nodeType": "YulFunctionCall", + "src": "28804:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "28792:6:21", + "nodeType": "YulIdentifier", + "src": "28792:6:21" + }, + "nativeSrc": "28792:33:21", + "nodeType": "YulFunctionCall", + "src": "28792:33:21" + }, + "nativeSrc": "28792:33:21", + "nodeType": "YulExpressionStatement", + "src": "28792:33:21" + }, + { + "nativeSrc": "28838:34:21", + "nodeType": "YulVariableDeclaration", + "src": "28838:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "28865:6:21", + "nodeType": "YulIdentifier", + "src": "28865:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "28859:5:21", + "nodeType": "YulIdentifier", + "src": "28859:5:21" + }, + "nativeSrc": "28859:13:21", + "nodeType": "YulFunctionCall", + "src": "28859:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "28842:13:21", + "nodeType": "YulTypedName", + "src": "28842:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "28885:90:21", + "nodeType": "YulAssignment", + "src": "28885:90:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "28955:13:21", + "nodeType": "YulIdentifier", + "src": "28955:13:21" + }, + { + "name": "tail", + "nativeSrc": "28970:4:21", + "nodeType": "YulIdentifier", + "src": "28970:4:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nativeSrc": "28893:61:21", + "nodeType": "YulIdentifier", + "src": "28893:61:21" + }, + "nativeSrc": "28893:82:21", + "nodeType": "YulFunctionCall", + "src": "28893:82:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "28885:4:21", + "nodeType": "YulIdentifier", + "src": "28885:4:21" + } + ] + }, + { + "nativeSrc": "28988:79:21", + "nodeType": "YulAssignment", + "src": "28988:79:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "29060:6:21", + "nodeType": "YulIdentifier", + "src": "29060:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "28998:61:21", + "nodeType": "YulIdentifier", + "src": "28998:61:21" + }, + "nativeSrc": "28998:69:21", + "nodeType": "YulFunctionCall", + "src": "28998:69:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "28988:6:21", + "nodeType": "YulIdentifier", + "src": "28988:6:21" + } + ] + }, + { + "nativeSrc": "29080:21:21", + "nodeType": "YulAssignment", + "src": "29080:21:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "29091:3:21", + "nodeType": "YulIdentifier", + "src": "29091:3:21" + }, + { + "kind": "number", + "nativeSrc": "29096:4:21", + "nodeType": "YulLiteral", + "src": "29096:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29087:3:21", + "nodeType": "YulIdentifier", + "src": "29087:3:21" + }, + "nativeSrc": "29087:14:21", + "nodeType": "YulFunctionCall", + "src": "29087:14:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "29080:3:21", + "nodeType": "YulIdentifier", + "src": "29080:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "28740:1:21", + "nodeType": "YulIdentifier", + "src": "28740:1:21" + }, + { + "name": "length", + "nativeSrc": "28743:6:21", + "nodeType": "YulIdentifier", + "src": "28743:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "28737:2:21", + "nodeType": "YulIdentifier", + "src": "28737:2:21" + }, + "nativeSrc": "28737:13:21", + "nodeType": "YulFunctionCall", + "src": "28737:13:21" + }, + "nativeSrc": "28718:393:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "28751:18:21", + "nodeType": "YulBlock", + "src": "28751:18:21", + "statements": [ + { + "nativeSrc": "28753:14:21", + "nodeType": "YulAssignment", + "src": "28753:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "28762:1:21", + "nodeType": "YulIdentifier", + "src": "28762:1:21" + }, + { + "kind": "number", + "nativeSrc": "28765:1:21", + "nodeType": "YulLiteral", + "src": "28765:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "28758:3:21", + "nodeType": "YulIdentifier", + "src": "28758:3:21" + }, + "nativeSrc": "28758:9:21", + "nodeType": "YulFunctionCall", + "src": "28758:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "28753:1:21", + "nodeType": "YulIdentifier", + "src": "28753:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "28722:14:21", + "nodeType": "YulBlock", + "src": "28722:14:21", + "statements": [ + { + "nativeSrc": "28724:10:21", + "nodeType": "YulVariableDeclaration", + "src": "28724:10:21", + "value": { + "kind": "number", + "nativeSrc": "28733:1:21", + "nodeType": "YulLiteral", + "src": "28733:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "28728:1:21", + "nodeType": "YulTypedName", + "src": "28728:1:21", + "type": "" + } + ] + } + ] + }, + "src": "28718:393:21" + }, + { + "nativeSrc": "29120:11:21", + "nodeType": "YulAssignment", + "src": "29120:11:21", + "value": { + "name": "tail", + "nativeSrc": "29127:4:21", + "nodeType": "YulIdentifier", + "src": "29127:4:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "29120:3:21", + "nodeType": "YulIdentifier", + "src": "29120:3:21" + } + ] + }, + { + "nativeSrc": "29140:10:21", + "nodeType": "YulAssignment", + "src": "29140:10:21", + "value": { + "name": "pos", + "nativeSrc": "29147:3:21", + "nodeType": "YulIdentifier", + "src": "29147:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "29140:3:21", + "nodeType": "YulIdentifier", + "src": "29140:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "28173:983:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "28294:5:21", + "nodeType": "YulTypedName", + "src": "28294:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "28301:3:21", + "nodeType": "YulTypedName", + "src": "28301:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "28310:3:21", + "nodeType": "YulTypedName", + "src": "28310:3:21", + "type": "" + } + ], + "src": "28173:983:21" + }, + { + "body": { + "nativeSrc": "29508:743:21", + "nodeType": "YulBlock", + "src": "29508:743:21", + "statements": [ + { + "nativeSrc": "29518:27:21", + "nodeType": "YulAssignment", + "src": "29518:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29530:9:21", + "nodeType": "YulIdentifier", + "src": "29530:9:21" + }, + { + "kind": "number", + "nativeSrc": "29541:3:21", + "nodeType": "YulLiteral", + "src": "29541:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29526:3:21", + "nodeType": "YulIdentifier", + "src": "29526:3:21" + }, + "nativeSrc": "29526:19:21", + "nodeType": "YulFunctionCall", + "src": "29526:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29518:4:21", + "nodeType": "YulIdentifier", + "src": "29518:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "29599:6:21", + "nodeType": "YulIdentifier", + "src": "29599:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29612:9:21", + "nodeType": "YulIdentifier", + "src": "29612:9:21" + }, + { + "kind": "number", + "nativeSrc": "29623:1:21", + "nodeType": "YulLiteral", + "src": "29623:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29608:3:21", + "nodeType": "YulIdentifier", + "src": "29608:3:21" + }, + "nativeSrc": "29608:17:21", + "nodeType": "YulFunctionCall", + "src": "29608:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "29555:43:21", + "nodeType": "YulIdentifier", + "src": "29555:43:21" + }, + "nativeSrc": "29555:71:21", + "nodeType": "YulFunctionCall", + "src": "29555:71:21" + }, + "nativeSrc": "29555:71:21", + "nodeType": "YulExpressionStatement", + "src": "29555:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29647:9:21", + "nodeType": "YulIdentifier", + "src": "29647:9:21" + }, + { + "kind": "number", + "nativeSrc": "29658:2:21", + "nodeType": "YulLiteral", + "src": "29658:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29643:3:21", + "nodeType": "YulIdentifier", + "src": "29643:3:21" + }, + "nativeSrc": "29643:18:21", + "nodeType": "YulFunctionCall", + "src": "29643:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29667:4:21", + "nodeType": "YulIdentifier", + "src": "29667:4:21" + }, + { + "name": "headStart", + "nativeSrc": "29673:9:21", + "nodeType": "YulIdentifier", + "src": "29673:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29663:3:21", + "nodeType": "YulIdentifier", + "src": "29663:3:21" + }, + "nativeSrc": "29663:20:21", + "nodeType": "YulFunctionCall", + "src": "29663:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29636:6:21", + "nodeType": "YulIdentifier", + "src": "29636:6:21" + }, + "nativeSrc": "29636:48:21", + "nodeType": "YulFunctionCall", + "src": "29636:48:21" + }, + "nativeSrc": "29636:48:21", + "nodeType": "YulExpressionStatement", + "src": "29636:48:21" + }, + { + "nativeSrc": "29693:116:21", + "nodeType": "YulAssignment", + "src": "29693:116:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "29795:6:21", + "nodeType": "YulIdentifier", + "src": "29795:6:21" + }, + { + "name": "tail", + "nativeSrc": "29804:4:21", + "nodeType": "YulIdentifier", + "src": "29804:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "29701:93:21", + "nodeType": "YulIdentifier", + "src": "29701:93:21" + }, + "nativeSrc": "29701:108:21", + "nodeType": "YulFunctionCall", + "src": "29701:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29693:4:21", + "nodeType": "YulIdentifier", + "src": "29693:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "29830:9:21", + "nodeType": "YulIdentifier", + "src": "29830:9:21" + }, + { + "kind": "number", + "nativeSrc": "29841:2:21", + "nodeType": "YulLiteral", + "src": "29841:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "29826:3:21", + "nodeType": "YulIdentifier", + "src": "29826:3:21" + }, + "nativeSrc": "29826:18:21", + "nodeType": "YulFunctionCall", + "src": "29826:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "29850:4:21", + "nodeType": "YulIdentifier", + "src": "29850:4:21" + }, + { + "name": "headStart", + "nativeSrc": "29856:9:21", + "nodeType": "YulIdentifier", + "src": "29856:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "29846:3:21", + "nodeType": "YulIdentifier", + "src": "29846:3:21" + }, + "nativeSrc": "29846:20:21", + "nodeType": "YulFunctionCall", + "src": "29846:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "29819:6:21", + "nodeType": "YulIdentifier", + "src": "29819:6:21" + }, + "nativeSrc": "29819:48:21", + "nodeType": "YulFunctionCall", + "src": "29819:48:21" + }, + "nativeSrc": "29819:48:21", + "nodeType": "YulExpressionStatement", + "src": "29819:48:21" + }, + { + "nativeSrc": "29876:134:21", + "nodeType": "YulAssignment", + "src": "29876:134:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "29996:6:21", + "nodeType": "YulIdentifier", + "src": "29996:6:21" + }, + { + "name": "tail", + "nativeSrc": "30005:4:21", + "nodeType": "YulIdentifier", + "src": "30005:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "29884:111:21", + "nodeType": "YulIdentifier", + "src": "29884:111:21" + }, + "nativeSrc": "29884:126:21", + "nodeType": "YulFunctionCall", + "src": "29884:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "29876:4:21", + "nodeType": "YulIdentifier", + "src": "29876:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30031:9:21", + "nodeType": "YulIdentifier", + "src": "30031:9:21" + }, + { + "kind": "number", + "nativeSrc": "30042:2:21", + "nodeType": "YulLiteral", + "src": "30042:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30027:3:21", + "nodeType": "YulIdentifier", + "src": "30027:3:21" + }, + "nativeSrc": "30027:18:21", + "nodeType": "YulFunctionCall", + "src": "30027:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "30051:4:21", + "nodeType": "YulIdentifier", + "src": "30051:4:21" + }, + { + "name": "headStart", + "nativeSrc": "30057:9:21", + "nodeType": "YulIdentifier", + "src": "30057:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "30047:3:21", + "nodeType": "YulIdentifier", + "src": "30047:3:21" + }, + "nativeSrc": "30047:20:21", + "nodeType": "YulFunctionCall", + "src": "30047:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30020:6:21", + "nodeType": "YulIdentifier", + "src": "30020:6:21" + }, + "nativeSrc": "30020:48:21", + "nodeType": "YulFunctionCall", + "src": "30020:48:21" + }, + "nativeSrc": "30020:48:21", + "nodeType": "YulExpressionStatement", + "src": "30020:48:21" + }, + { + "nativeSrc": "30077:84:21", + "nodeType": "YulAssignment", + "src": "30077:84:21", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "30147:6:21", + "nodeType": "YulIdentifier", + "src": "30147:6:21" + }, + { + "name": "tail", + "nativeSrc": "30156:4:21", + "nodeType": "YulIdentifier", + "src": "30156:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "30085:61:21", + "nodeType": "YulIdentifier", + "src": "30085:61:21" + }, + "nativeSrc": "30085:76:21", + "nodeType": "YulFunctionCall", + "src": "30085:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "30077:4:21", + "nodeType": "YulIdentifier", + "src": "30077:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "30215:6:21", + "nodeType": "YulIdentifier", + "src": "30215:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "30228:9:21", + "nodeType": "YulIdentifier", + "src": "30228:9:21" + }, + { + "kind": "number", + "nativeSrc": "30239:3:21", + "nodeType": "YulLiteral", + "src": "30239:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30224:3:21", + "nodeType": "YulIdentifier", + "src": "30224:3:21" + }, + "nativeSrc": "30224:19:21", + "nodeType": "YulFunctionCall", + "src": "30224:19:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "30171:43:21", + "nodeType": "YulIdentifier", + "src": "30171:43:21" + }, + "nativeSrc": "30171:73:21", + "nodeType": "YulFunctionCall", + "src": "30171:73:21" + }, + "nativeSrc": "30171:73:21", + "nodeType": "YulExpressionStatement", + "src": "30171:73:21" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__fromStack_reversed", + "nativeSrc": "29162:1089:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "29448:9:21", + "nodeType": "YulTypedName", + "src": "29448:9:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "29460:6:21", + "nodeType": "YulTypedName", + "src": "29460:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "29468:6:21", + "nodeType": "YulTypedName", + "src": "29468:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "29476:6:21", + "nodeType": "YulTypedName", + "src": "29476:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "29484:6:21", + "nodeType": "YulTypedName", + "src": "29484:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "29492:6:21", + "nodeType": "YulTypedName", + "src": "29492:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "29503:4:21", + "nodeType": "YulTypedName", + "src": "29503:4:21", + "type": "" + } + ], + "src": "29162:1089:21" + }, + { + "body": { + "nativeSrc": "30394:835:21", + "nodeType": "YulBlock", + "src": "30394:835:21", + "statements": [ + { + "nativeSrc": "30404:99:21", + "nodeType": "YulAssignment", + "src": "30404:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "30495:6:21", + "nodeType": "YulIdentifier", + "src": "30495:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "30429:65:21", + "nodeType": "YulIdentifier", + "src": "30429:65:21" + }, + "nativeSrc": "30429:73:21", + "nodeType": "YulFunctionCall", + "src": "30429:73:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "30413:15:21", + "nodeType": "YulIdentifier", + "src": "30413:15:21" + }, + "nativeSrc": "30413:90:21", + "nodeType": "YulFunctionCall", + "src": "30413:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "30404:5:21", + "nodeType": "YulIdentifier", + "src": "30404:5:21" + } + ] + }, + { + "nativeSrc": "30512:16:21", + "nodeType": "YulVariableDeclaration", + "src": "30512:16:21", + "value": { + "name": "array", + "nativeSrc": "30523:5:21", + "nodeType": "YulIdentifier", + "src": "30523:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "30516:3:21", + "nodeType": "YulTypedName", + "src": "30516:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "30545:5:21", + "nodeType": "YulIdentifier", + "src": "30545:5:21" + }, + { + "name": "length", + "nativeSrc": "30552:6:21", + "nodeType": "YulIdentifier", + "src": "30552:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "30538:6:21", + "nodeType": "YulIdentifier", + "src": "30538:6:21" + }, + "nativeSrc": "30538:21:21", + "nodeType": "YulFunctionCall", + "src": "30538:21:21" + }, + "nativeSrc": "30538:21:21", + "nodeType": "YulExpressionStatement", + "src": "30538:21:21" + }, + { + "nativeSrc": "30568:23:21", + "nodeType": "YulAssignment", + "src": "30568:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "30579:5:21", + "nodeType": "YulIdentifier", + "src": "30579:5:21" + }, + { + "kind": "number", + "nativeSrc": "30586:4:21", + "nodeType": "YulLiteral", + "src": "30586:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30575:3:21", + "nodeType": "YulIdentifier", + "src": "30575:3:21" + }, + "nativeSrc": "30575:16:21", + "nodeType": "YulFunctionCall", + "src": "30575:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "30568:3:21", + "nodeType": "YulIdentifier", + "src": "30568:3:21" + } + ] + }, + { + "nativeSrc": "30601:44:21", + "nodeType": "YulVariableDeclaration", + "src": "30601:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "30619:6:21", + "nodeType": "YulIdentifier", + "src": "30619:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "30631:6:21", + "nodeType": "YulIdentifier", + "src": "30631:6:21" + }, + { + "kind": "number", + "nativeSrc": "30639:4:21", + "nodeType": "YulLiteral", + "src": "30639:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "30627:3:21", + "nodeType": "YulIdentifier", + "src": "30627:3:21" + }, + "nativeSrc": "30627:17:21", + "nodeType": "YulFunctionCall", + "src": "30627:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30615:3:21", + "nodeType": "YulIdentifier", + "src": "30615:3:21" + }, + "nativeSrc": "30615:30:21", + "nodeType": "YulFunctionCall", + "src": "30615:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "30605:6:21", + "nodeType": "YulTypedName", + "src": "30605:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "30673:103:21", + "nodeType": "YulBlock", + "src": "30673:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "30687:77:21", + "nodeType": "YulIdentifier", + "src": "30687:77:21" + }, + "nativeSrc": "30687:79:21", + "nodeType": "YulFunctionCall", + "src": "30687:79:21" + }, + "nativeSrc": "30687:79:21", + "nodeType": "YulExpressionStatement", + "src": "30687:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "30660:6:21", + "nodeType": "YulIdentifier", + "src": "30660:6:21" + }, + { + "name": "end", + "nativeSrc": "30668:3:21", + "nodeType": "YulIdentifier", + "src": "30668:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30657:2:21", + "nodeType": "YulIdentifier", + "src": "30657:2:21" + }, + "nativeSrc": "30657:15:21", + "nodeType": "YulFunctionCall", + "src": "30657:15:21" + }, + "nativeSrc": "30654:122:21", + "nodeType": "YulIf", + "src": "30654:122:21" + }, + { + "body": { + "nativeSrc": "30861:362:21", + "nodeType": "YulBlock", + "src": "30861:362:21", + "statements": [ + { + "nativeSrc": "30876:29:21", + "nodeType": "YulVariableDeclaration", + "src": "30876:29:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30901:3:21", + "nodeType": "YulIdentifier", + "src": "30901:3:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "30895:5:21", + "nodeType": "YulIdentifier", + "src": "30895:5:21" + }, + "nativeSrc": "30895:10:21", + "nodeType": "YulFunctionCall", + "src": "30895:10:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "30880:11:21", + "nodeType": "YulTypedName", + "src": "30880:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "30957:83:21", + "nodeType": "YulBlock", + "src": "30957:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "30959:77:21", + "nodeType": "YulIdentifier", + "src": "30959:77:21" + }, + "nativeSrc": "30959:79:21", + "nodeType": "YulFunctionCall", + "src": "30959:79:21" + }, + "nativeSrc": "30959:79:21", + "nodeType": "YulExpressionStatement", + "src": "30959:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "30924:11:21", + "nodeType": "YulIdentifier", + "src": "30924:11:21" + }, + { + "kind": "number", + "nativeSrc": "30937:18:21", + "nodeType": "YulLiteral", + "src": "30937:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "30921:2:21", + "nodeType": "YulIdentifier", + "src": "30921:2:21" + }, + "nativeSrc": "30921:35:21", + "nodeType": "YulFunctionCall", + "src": "30921:35:21" + }, + "nativeSrc": "30918:122:21", + "nodeType": "YulIf", + "src": "30918:122:21" + }, + { + "nativeSrc": "31053:42:21", + "nodeType": "YulVariableDeclaration", + "src": "31053:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31075:6:21", + "nodeType": "YulIdentifier", + "src": "31075:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "31083:11:21", + "nodeType": "YulIdentifier", + "src": "31083:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31071:3:21", + "nodeType": "YulIdentifier", + "src": "31071:3:21" + }, + "nativeSrc": "31071:24:21", + "nodeType": "YulFunctionCall", + "src": "31071:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "31057:10:21", + "nodeType": "YulTypedName", + "src": "31057:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "31116:3:21", + "nodeType": "YulIdentifier", + "src": "31116:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "31162:10:21", + "nodeType": "YulIdentifier", + "src": "31162:10:21" + }, + { + "name": "end", + "nativeSrc": "31174:3:21", + "nodeType": "YulIdentifier", + "src": "31174:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr_fromMemory", + "nativeSrc": "31121:40:21", + "nodeType": "YulIdentifier", + "src": "31121:40:21" + }, + "nativeSrc": "31121:57:21", + "nodeType": "YulFunctionCall", + "src": "31121:57:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "31109:6:21", + "nodeType": "YulIdentifier", + "src": "31109:6:21" + }, + "nativeSrc": "31109:70:21", + "nodeType": "YulFunctionCall", + "src": "31109:70:21" + }, + "nativeSrc": "31109:70:21", + "nodeType": "YulExpressionStatement", + "src": "31109:70:21" + }, + { + "nativeSrc": "31192:21:21", + "nodeType": "YulAssignment", + "src": "31192:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "31203:3:21", + "nodeType": "YulIdentifier", + "src": "31203:3:21" + }, + { + "kind": "number", + "nativeSrc": "31208:4:21", + "nodeType": "YulLiteral", + "src": "31208:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31199:3:21", + "nodeType": "YulIdentifier", + "src": "31199:3:21" + }, + "nativeSrc": "31199:14:21", + "nodeType": "YulFunctionCall", + "src": "31199:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "31192:3:21", + "nodeType": "YulIdentifier", + "src": "31192:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30814:3:21", + "nodeType": "YulIdentifier", + "src": "30814:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "30819:6:21", + "nodeType": "YulIdentifier", + "src": "30819:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "30811:2:21", + "nodeType": "YulIdentifier", + "src": "30811:2:21" + }, + "nativeSrc": "30811:15:21", + "nodeType": "YulFunctionCall", + "src": "30811:15:21" + }, + "nativeSrc": "30785:438:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "30827:25:21", + "nodeType": "YulBlock", + "src": "30827:25:21", + "statements": [ + { + "nativeSrc": "30829:21:21", + "nodeType": "YulAssignment", + "src": "30829:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "30840:3:21", + "nodeType": "YulIdentifier", + "src": "30840:3:21" + }, + { + "kind": "number", + "nativeSrc": "30845:4:21", + "nodeType": "YulLiteral", + "src": "30845:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "30836:3:21", + "nodeType": "YulIdentifier", + "src": "30836:3:21" + }, + "nativeSrc": "30836:14:21", + "nodeType": "YulFunctionCall", + "src": "30836:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "30829:3:21", + "nodeType": "YulIdentifier", + "src": "30829:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "30789:21:21", + "nodeType": "YulBlock", + "src": "30789:21:21", + "statements": [ + { + "nativeSrc": "30791:17:21", + "nodeType": "YulVariableDeclaration", + "src": "30791:17:21", + "value": { + "name": "offset", + "nativeSrc": "30802:6:21", + "nodeType": "YulIdentifier", + "src": "30802:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "30795:3:21", + "nodeType": "YulTypedName", + "src": "30795:3:21", + "type": "" + } + ] + } + ] + }, + "src": "30785:438:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "30272:957:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "30364:6:21", + "nodeType": "YulTypedName", + "src": "30364:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "30372:6:21", + "nodeType": "YulTypedName", + "src": "30372:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "30380:3:21", + "nodeType": "YulTypedName", + "src": "30380:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "30388:5:21", + "nodeType": "YulTypedName", + "src": "30388:5:21", + "type": "" + } + ], + "src": "30272:957:21" + }, + { + "body": { + "nativeSrc": "31347:306:21", + "nodeType": "YulBlock", + "src": "31347:306:21", + "statements": [ + { + "body": { + "nativeSrc": "31396:83:21", + "nodeType": "YulBlock", + "src": "31396:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "31398:77:21", + "nodeType": "YulIdentifier", + "src": "31398:77:21" + }, + "nativeSrc": "31398:79:21", + "nodeType": "YulFunctionCall", + "src": "31398:79:21" + }, + "nativeSrc": "31398:79:21", + "nodeType": "YulExpressionStatement", + "src": "31398:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31375:6:21", + "nodeType": "YulIdentifier", + "src": "31375:6:21" + }, + { + "kind": "number", + "nativeSrc": "31383:4:21", + "nodeType": "YulLiteral", + "src": "31383:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31371:3:21", + "nodeType": "YulIdentifier", + "src": "31371:3:21" + }, + "nativeSrc": "31371:17:21", + "nodeType": "YulFunctionCall", + "src": "31371:17:21" + }, + { + "name": "end", + "nativeSrc": "31390:3:21", + "nodeType": "YulIdentifier", + "src": "31390:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "31367:3:21", + "nodeType": "YulIdentifier", + "src": "31367:3:21" + }, + "nativeSrc": "31367:27:21", + "nodeType": "YulFunctionCall", + "src": "31367:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "31360:6:21", + "nodeType": "YulIdentifier", + "src": "31360:6:21" + }, + "nativeSrc": "31360:35:21", + "nodeType": "YulFunctionCall", + "src": "31360:35:21" + }, + "nativeSrc": "31357:122:21", + "nodeType": "YulIf", + "src": "31357:122:21" + }, + { + "nativeSrc": "31488:27:21", + "nodeType": "YulVariableDeclaration", + "src": "31488:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31508:6:21", + "nodeType": "YulIdentifier", + "src": "31508:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "31502:5:21", + "nodeType": "YulIdentifier", + "src": "31502:5:21" + }, + "nativeSrc": "31502:13:21", + "nodeType": "YulFunctionCall", + "src": "31502:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "31492:6:21", + "nodeType": "YulTypedName", + "src": "31492:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "31524:123:21", + "nodeType": "YulAssignment", + "src": "31524:123:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31620:6:21", + "nodeType": "YulIdentifier", + "src": "31620:6:21" + }, + { + "kind": "number", + "nativeSrc": "31628:4:21", + "nodeType": "YulLiteral", + "src": "31628:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31616:3:21", + "nodeType": "YulIdentifier", + "src": "31616:3:21" + }, + "nativeSrc": "31616:17:21", + "nodeType": "YulFunctionCall", + "src": "31616:17:21" + }, + { + "name": "length", + "nativeSrc": "31635:6:21", + "nodeType": "YulIdentifier", + "src": "31635:6:21" + }, + { + "name": "end", + "nativeSrc": "31643:3:21", + "nodeType": "YulIdentifier", + "src": "31643:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31533:82:21", + "nodeType": "YulIdentifier", + "src": "31533:82:21" + }, + "nativeSrc": "31533:114:21", + "nodeType": "YulFunctionCall", + "src": "31533:114:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "31524:5:21", + "nodeType": "YulIdentifier", + "src": "31524:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31250:403:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "31325:6:21", + "nodeType": "YulTypedName", + "src": "31325:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "31333:3:21", + "nodeType": "YulTypedName", + "src": "31333:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "31341:5:21", + "nodeType": "YulTypedName", + "src": "31341:5:21", + "type": "" + } + ], + "src": "31250:403:21" + }, + { + "body": { + "nativeSrc": "31770:461:21", + "nodeType": "YulBlock", + "src": "31770:461:21", + "statements": [ + { + "body": { + "nativeSrc": "31816:83:21", + "nodeType": "YulBlock", + "src": "31816:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "31818:77:21", + "nodeType": "YulIdentifier", + "src": "31818:77:21" + }, + "nativeSrc": "31818:79:21", + "nodeType": "YulFunctionCall", + "src": "31818:79:21" + }, + "nativeSrc": "31818:79:21", + "nodeType": "YulExpressionStatement", + "src": "31818:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "31791:7:21", + "nodeType": "YulIdentifier", + "src": "31791:7:21" + }, + { + "name": "headStart", + "nativeSrc": "31800:9:21", + "nodeType": "YulIdentifier", + "src": "31800:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "31787:3:21", + "nodeType": "YulIdentifier", + "src": "31787:3:21" + }, + "nativeSrc": "31787:23:21", + "nodeType": "YulFunctionCall", + "src": "31787:23:21" + }, + { + "kind": "number", + "nativeSrc": "31812:2:21", + "nodeType": "YulLiteral", + "src": "31812:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "31783:3:21", + "nodeType": "YulIdentifier", + "src": "31783:3:21" + }, + "nativeSrc": "31783:32:21", + "nodeType": "YulFunctionCall", + "src": "31783:32:21" + }, + "nativeSrc": "31780:119:21", + "nodeType": "YulIf", + "src": "31780:119:21" + }, + { + "nativeSrc": "31909:315:21", + "nodeType": "YulBlock", + "src": "31909:315:21", + "statements": [ + { + "nativeSrc": "31924:38:21", + "nodeType": "YulVariableDeclaration", + "src": "31924:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "31948:9:21", + "nodeType": "YulIdentifier", + "src": "31948:9:21" + }, + { + "kind": "number", + "nativeSrc": "31959:1:21", + "nodeType": "YulLiteral", + "src": "31959:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "31944:3:21", + "nodeType": "YulIdentifier", + "src": "31944:3:21" + }, + "nativeSrc": "31944:17:21", + "nodeType": "YulFunctionCall", + "src": "31944:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "31938:5:21", + "nodeType": "YulIdentifier", + "src": "31938:5:21" + }, + "nativeSrc": "31938:24:21", + "nodeType": "YulFunctionCall", + "src": "31938:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "31928:6:21", + "nodeType": "YulTypedName", + "src": "31928:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "32009:83:21", + "nodeType": "YulBlock", + "src": "32009:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "32011:77:21", + "nodeType": "YulIdentifier", + "src": "32011:77:21" + }, + "nativeSrc": "32011:79:21", + "nodeType": "YulFunctionCall", + "src": "32011:79:21" + }, + "nativeSrc": "32011:79:21", + "nodeType": "YulExpressionStatement", + "src": "32011:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "31981:6:21", + "nodeType": "YulIdentifier", + "src": "31981:6:21" + }, + { + "kind": "number", + "nativeSrc": "31989:18:21", + "nodeType": "YulLiteral", + "src": "31989:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "31978:2:21", + "nodeType": "YulIdentifier", + "src": "31978:2:21" + }, + "nativeSrc": "31978:30:21", + "nodeType": "YulFunctionCall", + "src": "31978:30:21" + }, + "nativeSrc": "31975:117:21", + "nodeType": "YulIf", + "src": "31975:117:21" + }, + { + "nativeSrc": "32106:108:21", + "nodeType": "YulAssignment", + "src": "32106:108:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32186:9:21", + "nodeType": "YulIdentifier", + "src": "32186:9:21" + }, + { + "name": "offset", + "nativeSrc": "32197:6:21", + "nodeType": "YulIdentifier", + "src": "32197:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32182:3:21", + "nodeType": "YulIdentifier", + "src": "32182:3:21" + }, + "nativeSrc": "32182:22:21", + "nodeType": "YulFunctionCall", + "src": "32182:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "32206:7:21", + "nodeType": "YulIdentifier", + "src": "32206:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "32116:65:21", + "nodeType": "YulIdentifier", + "src": "32116:65:21" + }, + "nativeSrc": "32116:98:21", + "nodeType": "YulFunctionCall", + "src": "32116:98:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "32106:6:21", + "nodeType": "YulIdentifier", + "src": "32106:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "31659:572:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "31740:9:21", + "nodeType": "YulTypedName", + "src": "31740:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "31751:7:21", + "nodeType": "YulTypedName", + "src": "31751:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "31763:6:21", + "nodeType": "YulTypedName", + "src": "31763:6:21", + "type": "" + } + ], + "src": "31659:572:21" + }, + { + "body": { + "nativeSrc": "32363:206:21", + "nodeType": "YulBlock", + "src": "32363:206:21", + "statements": [ + { + "nativeSrc": "32373:26:21", + "nodeType": "YulAssignment", + "src": "32373:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32385:9:21", + "nodeType": "YulIdentifier", + "src": "32385:9:21" + }, + { + "kind": "number", + "nativeSrc": "32396:2:21", + "nodeType": "YulLiteral", + "src": "32396:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32381:3:21", + "nodeType": "YulIdentifier", + "src": "32381:3:21" + }, + "nativeSrc": "32381:18:21", + "nodeType": "YulFunctionCall", + "src": "32381:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32373:4:21", + "nodeType": "YulIdentifier", + "src": "32373:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "32453:6:21", + "nodeType": "YulIdentifier", + "src": "32453:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32466:9:21", + "nodeType": "YulIdentifier", + "src": "32466:9:21" + }, + { + "kind": "number", + "nativeSrc": "32477:1:21", + "nodeType": "YulLiteral", + "src": "32477:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32462:3:21", + "nodeType": "YulIdentifier", + "src": "32462:3:21" + }, + "nativeSrc": "32462:17:21", + "nodeType": "YulFunctionCall", + "src": "32462:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "32409:43:21", + "nodeType": "YulIdentifier", + "src": "32409:43:21" + }, + "nativeSrc": "32409:71:21", + "nodeType": "YulFunctionCall", + "src": "32409:71:21" + }, + "nativeSrc": "32409:71:21", + "nodeType": "YulExpressionStatement", + "src": "32409:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "32534:6:21", + "nodeType": "YulIdentifier", + "src": "32534:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32547:9:21", + "nodeType": "YulIdentifier", + "src": "32547:9:21" + }, + { + "kind": "number", + "nativeSrc": "32558:2:21", + "nodeType": "YulLiteral", + "src": "32558:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32543:3:21", + "nodeType": "YulIdentifier", + "src": "32543:3:21" + }, + "nativeSrc": "32543:18:21", + "nodeType": "YulFunctionCall", + "src": "32543:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "32490:43:21", + "nodeType": "YulIdentifier", + "src": "32490:43:21" + }, + "nativeSrc": "32490:72:21", + "nodeType": "YulFunctionCall", + "src": "32490:72:21" + }, + "nativeSrc": "32490:72:21", + "nodeType": "YulExpressionStatement", + "src": "32490:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "32237:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32327:9:21", + "nodeType": "YulTypedName", + "src": "32327:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "32339:6:21", + "nodeType": "YulTypedName", + "src": "32339:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "32347:6:21", + "nodeType": "YulTypedName", + "src": "32347:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32358:4:21", + "nodeType": "YulTypedName", + "src": "32358:4:21", + "type": "" + } + ], + "src": "32237:332:21" + }, + { + "body": { + "nativeSrc": "32787:394:21", + "nodeType": "YulBlock", + "src": "32787:394:21", + "statements": [ + { + "nativeSrc": "32797:26:21", + "nodeType": "YulAssignment", + "src": "32797:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32809:9:21", + "nodeType": "YulIdentifier", + "src": "32809:9:21" + }, + { + "kind": "number", + "nativeSrc": "32820:2:21", + "nodeType": "YulLiteral", + "src": "32820:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32805:3:21", + "nodeType": "YulIdentifier", + "src": "32805:3:21" + }, + "nativeSrc": "32805:18:21", + "nodeType": "YulFunctionCall", + "src": "32805:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32797:4:21", + "nodeType": "YulIdentifier", + "src": "32797:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "32844:9:21", + "nodeType": "YulIdentifier", + "src": "32844:9:21" + }, + { + "kind": "number", + "nativeSrc": "32855:1:21", + "nodeType": "YulLiteral", + "src": "32855:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "32840:3:21", + "nodeType": "YulIdentifier", + "src": "32840:3:21" + }, + "nativeSrc": "32840:17:21", + "nodeType": "YulFunctionCall", + "src": "32840:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "32863:4:21", + "nodeType": "YulIdentifier", + "src": "32863:4:21" + }, + { + "name": "headStart", + "nativeSrc": "32869:9:21", + "nodeType": "YulIdentifier", + "src": "32869:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "32859:3:21", + "nodeType": "YulIdentifier", + "src": "32859:3:21" + }, + "nativeSrc": "32859:20:21", + "nodeType": "YulFunctionCall", + "src": "32859:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "32833:6:21", + "nodeType": "YulIdentifier", + "src": "32833:6:21" + }, + "nativeSrc": "32833:47:21", + "nodeType": "YulFunctionCall", + "src": "32833:47:21" + }, + "nativeSrc": "32833:47:21", + "nodeType": "YulExpressionStatement", + "src": "32833:47:21" + }, + { + "nativeSrc": "32889:134:21", + "nodeType": "YulAssignment", + "src": "32889:134:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "33009:6:21", + "nodeType": "YulIdentifier", + "src": "33009:6:21" + }, + { + "name": "tail", + "nativeSrc": "33018:4:21", + "nodeType": "YulIdentifier", + "src": "33018:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "32897:111:21", + "nodeType": "YulIdentifier", + "src": "32897:111:21" + }, + "nativeSrc": "32897:126:21", + "nodeType": "YulFunctionCall", + "src": "32897:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "32889:4:21", + "nodeType": "YulIdentifier", + "src": "32889:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33044:9:21", + "nodeType": "YulIdentifier", + "src": "33044:9:21" + }, + { + "kind": "number", + "nativeSrc": "33055:2:21", + "nodeType": "YulLiteral", + "src": "33055:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33040:3:21", + "nodeType": "YulIdentifier", + "src": "33040:3:21" + }, + "nativeSrc": "33040:18:21", + "nodeType": "YulFunctionCall", + "src": "33040:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "33064:4:21", + "nodeType": "YulIdentifier", + "src": "33064:4:21" + }, + { + "name": "headStart", + "nativeSrc": "33070:9:21", + "nodeType": "YulIdentifier", + "src": "33070:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "33060:3:21", + "nodeType": "YulIdentifier", + "src": "33060:3:21" + }, + "nativeSrc": "33060:20:21", + "nodeType": "YulFunctionCall", + "src": "33060:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33033:6:21", + "nodeType": "YulIdentifier", + "src": "33033:6:21" + }, + "nativeSrc": "33033:48:21", + "nodeType": "YulFunctionCall", + "src": "33033:48:21" + }, + "nativeSrc": "33033:48:21", + "nodeType": "YulExpressionStatement", + "src": "33033:48:21" + }, + { + "nativeSrc": "33090:84:21", + "nodeType": "YulAssignment", + "src": "33090:84:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "33160:6:21", + "nodeType": "YulIdentifier", + "src": "33160:6:21" + }, + { + "name": "tail", + "nativeSrc": "33169:4:21", + "nodeType": "YulIdentifier", + "src": "33169:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "33098:61:21", + "nodeType": "YulIdentifier", + "src": "33098:61:21" + }, + "nativeSrc": "33098:76:21", + "nodeType": "YulFunctionCall", + "src": "33098:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "33090:4:21", + "nodeType": "YulIdentifier", + "src": "33090:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "32575:606:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "32751:9:21", + "nodeType": "YulTypedName", + "src": "32751:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "32763:6:21", + "nodeType": "YulTypedName", + "src": "32763:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "32771:6:21", + "nodeType": "YulTypedName", + "src": "32771:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "32782:4:21", + "nodeType": "YulTypedName", + "src": "32782:4:21", + "type": "" + } + ], + "src": "32575:606:21" + }, + { + "body": { + "nativeSrc": "33293:64:21", + "nodeType": "YulBlock", + "src": "33293:64:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "33315:6:21", + "nodeType": "YulIdentifier", + "src": "33315:6:21" + }, + { + "kind": "number", + "nativeSrc": "33323:1:21", + "nodeType": "YulLiteral", + "src": "33323:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33311:3:21", + "nodeType": "YulIdentifier", + "src": "33311:3:21" + }, + "nativeSrc": "33311:14:21", + "nodeType": "YulFunctionCall", + "src": "33311:14:21" + }, + { + "hexValue": "706172616d206461746120746f6f2073686f7274", + "kind": "string", + "nativeSrc": "33327:22:21", + "nodeType": "YulLiteral", + "src": "33327:22:21", + "type": "", + "value": "param data too short" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33304:6:21", + "nodeType": "YulIdentifier", + "src": "33304:6:21" + }, + "nativeSrc": "33304:46:21", + "nodeType": "YulFunctionCall", + "src": "33304:46:21" + }, + "nativeSrc": "33304:46:21", + "nodeType": "YulExpressionStatement", + "src": "33304:46:21" + } + ] + }, + "name": "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "nativeSrc": "33187:170:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "33285:6:21", + "nodeType": "YulTypedName", + "src": "33285:6:21", + "type": "" + } + ], + "src": "33187:170:21" + }, + { + "body": { + "nativeSrc": "33509:220:21", + "nodeType": "YulBlock", + "src": "33509:220:21", + "statements": [ + { + "nativeSrc": "33519:74:21", + "nodeType": "YulAssignment", + "src": "33519:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33585:3:21", + "nodeType": "YulIdentifier", + "src": "33585:3:21" + }, + { + "kind": "number", + "nativeSrc": "33590:2:21", + "nodeType": "YulLiteral", + "src": "33590:2:21", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "33526:58:21", + "nodeType": "YulIdentifier", + "src": "33526:58:21" + }, + "nativeSrc": "33526:67:21", + "nodeType": "YulFunctionCall", + "src": "33526:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "33519:3:21", + "nodeType": "YulIdentifier", + "src": "33519:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33691:3:21", + "nodeType": "YulIdentifier", + "src": "33691:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a", + "nativeSrc": "33602:88:21", + "nodeType": "YulIdentifier", + "src": "33602:88:21" + }, + "nativeSrc": "33602:93:21", + "nodeType": "YulFunctionCall", + "src": "33602:93:21" + }, + "nativeSrc": "33602:93:21", + "nodeType": "YulExpressionStatement", + "src": "33602:93:21" + }, + { + "nativeSrc": "33704:19:21", + "nodeType": "YulAssignment", + "src": "33704:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "33715:3:21", + "nodeType": "YulIdentifier", + "src": "33715:3:21" + }, + { + "kind": "number", + "nativeSrc": "33720:2:21", + "nodeType": "YulLiteral", + "src": "33720:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33711:3:21", + "nodeType": "YulIdentifier", + "src": "33711:3:21" + }, + "nativeSrc": "33711:12:21", + "nodeType": "YulFunctionCall", + "src": "33711:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "33704:3:21", + "nodeType": "YulIdentifier", + "src": "33704:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "33363:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "33497:3:21", + "nodeType": "YulTypedName", + "src": "33497:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "33505:3:21", + "nodeType": "YulTypedName", + "src": "33505:3:21", + "type": "" + } + ], + "src": "33363:366:21" + }, + { + "body": { + "nativeSrc": "33906:248:21", + "nodeType": "YulBlock", + "src": "33906:248:21", + "statements": [ + { + "nativeSrc": "33916:26:21", + "nodeType": "YulAssignment", + "src": "33916:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33928:9:21", + "nodeType": "YulIdentifier", + "src": "33928:9:21" + }, + { + "kind": "number", + "nativeSrc": "33939:2:21", + "nodeType": "YulLiteral", + "src": "33939:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33924:3:21", + "nodeType": "YulIdentifier", + "src": "33924:3:21" + }, + "nativeSrc": "33924:18:21", + "nodeType": "YulFunctionCall", + "src": "33924:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "33916:4:21", + "nodeType": "YulIdentifier", + "src": "33916:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "33963:9:21", + "nodeType": "YulIdentifier", + "src": "33963:9:21" + }, + { + "kind": "number", + "nativeSrc": "33974:1:21", + "nodeType": "YulLiteral", + "src": "33974:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "33959:3:21", + "nodeType": "YulIdentifier", + "src": "33959:3:21" + }, + "nativeSrc": "33959:17:21", + "nodeType": "YulFunctionCall", + "src": "33959:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "33982:4:21", + "nodeType": "YulIdentifier", + "src": "33982:4:21" + }, + { + "name": "headStart", + "nativeSrc": "33988:9:21", + "nodeType": "YulIdentifier", + "src": "33988:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "33978:3:21", + "nodeType": "YulIdentifier", + "src": "33978:3:21" + }, + "nativeSrc": "33978:20:21", + "nodeType": "YulFunctionCall", + "src": "33978:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "33952:6:21", + "nodeType": "YulIdentifier", + "src": "33952:6:21" + }, + "nativeSrc": "33952:47:21", + "nodeType": "YulFunctionCall", + "src": "33952:47:21" + }, + "nativeSrc": "33952:47:21", + "nodeType": "YulExpressionStatement", + "src": "33952:47:21" + }, + { + "nativeSrc": "34008:139:21", + "nodeType": "YulAssignment", + "src": "34008:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "34142:4:21", + "nodeType": "YulIdentifier", + "src": "34142:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack", + "nativeSrc": "34016:124:21", + "nodeType": "YulIdentifier", + "src": "34016:124:21" + }, + "nativeSrc": "34016:131:21", + "nodeType": "YulFunctionCall", + "src": "34016:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "34008:4:21", + "nodeType": "YulIdentifier", + "src": "34008:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "33735:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "33886:9:21", + "nodeType": "YulTypedName", + "src": "33886:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "33901:4:21", + "nodeType": "YulTypedName", + "src": "33901:4:21", + "type": "" + } + ], + "src": "33735:419:21" + }, + { + "body": { + "nativeSrc": "34249:28:21", + "nodeType": "YulBlock", + "src": "34249:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "34266:1:21", + "nodeType": "YulLiteral", + "src": "34266:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "34269:1:21", + "nodeType": "YulLiteral", + "src": "34269:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "34259:6:21", + "nodeType": "YulIdentifier", + "src": "34259:6:21" + }, + "nativeSrc": "34259:12:21", + "nodeType": "YulFunctionCall", + "src": "34259:12:21" + }, + "nativeSrc": "34259:12:21", + "nodeType": "YulExpressionStatement", + "src": "34259:12:21" + } + ] + }, + "name": "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a", + "nativeSrc": "34160:117:21", + "nodeType": "YulFunctionDefinition", + "src": "34160:117:21" + }, + { + "body": { + "nativeSrc": "34372:28:21", + "nodeType": "YulBlock", + "src": "34372:28:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "34389:1:21", + "nodeType": "YulLiteral", + "src": "34389:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "34392:1:21", + "nodeType": "YulLiteral", + "src": "34392:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "34382:6:21", + "nodeType": "YulIdentifier", + "src": "34382:6:21" + }, + "nativeSrc": "34382:12:21", + "nodeType": "YulFunctionCall", + "src": "34382:12:21" + }, + "nativeSrc": "34382:12:21", + "nodeType": "YulExpressionStatement", + "src": "34382:12:21" + } + ] + }, + "name": "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c", + "nativeSrc": "34283:117:21", + "nodeType": "YulFunctionDefinition", + "src": "34283:117:21" + }, + { + "body": { + "nativeSrc": "34532:343:21", + "nodeType": "YulBlock", + "src": "34532:343:21", + "statements": [ + { + "body": { + "nativeSrc": "34570:83:21", + "nodeType": "YulBlock", + "src": "34570:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a", + "nativeSrc": "34572:77:21", + "nodeType": "YulIdentifier", + "src": "34572:77:21" + }, + "nativeSrc": "34572:79:21", + "nodeType": "YulFunctionCall", + "src": "34572:79:21" + }, + "nativeSrc": "34572:79:21", + "nodeType": "YulExpressionStatement", + "src": "34572:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "34548:10:21", + "nodeType": "YulIdentifier", + "src": "34548:10:21" + }, + { + "name": "endIndex", + "nativeSrc": "34560:8:21", + "nodeType": "YulIdentifier", + "src": "34560:8:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "34545:2:21", + "nodeType": "YulIdentifier", + "src": "34545:2:21" + }, + "nativeSrc": "34545:24:21", + "nodeType": "YulFunctionCall", + "src": "34545:24:21" + }, + "nativeSrc": "34542:111:21", + "nodeType": "YulIf", + "src": "34542:111:21" + }, + { + "body": { + "nativeSrc": "34686:83:21", + "nodeType": "YulBlock", + "src": "34686:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c", + "nativeSrc": "34688:77:21", + "nodeType": "YulIdentifier", + "src": "34688:77:21" + }, + "nativeSrc": "34688:79:21", + "nodeType": "YulFunctionCall", + "src": "34688:79:21" + }, + "nativeSrc": "34688:79:21", + "nodeType": "YulExpressionStatement", + "src": "34688:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "endIndex", + "nativeSrc": "34668:8:21", + "nodeType": "YulIdentifier", + "src": "34668:8:21" + }, + { + "name": "length", + "nativeSrc": "34678:6:21", + "nodeType": "YulIdentifier", + "src": "34678:6:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "34665:2:21", + "nodeType": "YulIdentifier", + "src": "34665:2:21" + }, + "nativeSrc": "34665:20:21", + "nodeType": "YulFunctionCall", + "src": "34665:20:21" + }, + "nativeSrc": "34662:107:21", + "nodeType": "YulIf", + "src": "34662:107:21" + }, + { + "nativeSrc": "34778:44:21", + "nodeType": "YulAssignment", + "src": "34778:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "34795:6:21", + "nodeType": "YulIdentifier", + "src": "34795:6:21" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "34807:10:21", + "nodeType": "YulIdentifier", + "src": "34807:10:21" + }, + { + "kind": "number", + "nativeSrc": "34819:1:21", + "nodeType": "YulLiteral", + "src": "34819:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "34803:3:21", + "nodeType": "YulIdentifier", + "src": "34803:3:21" + }, + "nativeSrc": "34803:18:21", + "nodeType": "YulFunctionCall", + "src": "34803:18:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "34791:3:21", + "nodeType": "YulIdentifier", + "src": "34791:3:21" + }, + "nativeSrc": "34791:31:21", + "nodeType": "YulFunctionCall", + "src": "34791:31:21" + }, + "variableNames": [ + { + "name": "offsetOut", + "nativeSrc": "34778:9:21", + "nodeType": "YulIdentifier", + "src": "34778:9:21" + } + ] + }, + { + "nativeSrc": "34831:38:21", + "nodeType": "YulAssignment", + "src": "34831:38:21", + "value": { + "arguments": [ + { + "name": "endIndex", + "nativeSrc": "34848:8:21", + "nodeType": "YulIdentifier", + "src": "34848:8:21" + }, + { + "name": "startIndex", + "nativeSrc": "34858:10:21", + "nodeType": "YulIdentifier", + "src": "34858:10:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "34844:3:21", + "nodeType": "YulIdentifier", + "src": "34844:3:21" + }, + "nativeSrc": "34844:25:21", + "nodeType": "YulFunctionCall", + "src": "34844:25:21" + }, + "variableNames": [ + { + "name": "lengthOut", + "nativeSrc": "34831:9:21", + "nodeType": "YulIdentifier", + "src": "34831:9:21" + } + ] + } + ] + }, + "name": "calldata_array_index_range_access_t_bytes_calldata_ptr", + "nativeSrc": "34406:469:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "34470:6:21", + "nodeType": "YulTypedName", + "src": "34470:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "34478:6:21", + "nodeType": "YulTypedName", + "src": "34478:6:21", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "34486:10:21", + "nodeType": "YulTypedName", + "src": "34486:10:21", + "type": "" + }, + { + "name": "endIndex", + "nativeSrc": "34498:8:21", + "nodeType": "YulTypedName", + "src": "34498:8:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "offsetOut", + "nativeSrc": "34511:9:21", + "nodeType": "YulTypedName", + "src": "34511:9:21", + "type": "" + }, + { + "name": "lengthOut", + "nativeSrc": "34522:9:21", + "nodeType": "YulTypedName", + "src": "34522:9:21", + "type": "" + } + ], + "src": "34406:469:21" + }, + { + "body": { + "nativeSrc": "34947:263:21", + "nodeType": "YulBlock", + "src": "34947:263:21", + "statements": [ + { + "body": { + "nativeSrc": "34993:83:21", + "nodeType": "YulBlock", + "src": "34993:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "34995:77:21", + "nodeType": "YulIdentifier", + "src": "34995:77:21" + }, + "nativeSrc": "34995:79:21", + "nodeType": "YulFunctionCall", + "src": "34995:79:21" + }, + "nativeSrc": "34995:79:21", + "nodeType": "YulExpressionStatement", + "src": "34995:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "34968:7:21", + "nodeType": "YulIdentifier", + "src": "34968:7:21" + }, + { + "name": "headStart", + "nativeSrc": "34977:9:21", + "nodeType": "YulIdentifier", + "src": "34977:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "34964:3:21", + "nodeType": "YulIdentifier", + "src": "34964:3:21" + }, + "nativeSrc": "34964:23:21", + "nodeType": "YulFunctionCall", + "src": "34964:23:21" + }, + { + "kind": "number", + "nativeSrc": "34989:2:21", + "nodeType": "YulLiteral", + "src": "34989:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "34960:3:21", + "nodeType": "YulIdentifier", + "src": "34960:3:21" + }, + "nativeSrc": "34960:32:21", + "nodeType": "YulFunctionCall", + "src": "34960:32:21" + }, + "nativeSrc": "34957:119:21", + "nodeType": "YulIf", + "src": "34957:119:21" + }, + { + "nativeSrc": "35086:117:21", + "nodeType": "YulBlock", + "src": "35086:117:21", + "statements": [ + { + "nativeSrc": "35101:15:21", + "nodeType": "YulVariableDeclaration", + "src": "35101:15:21", + "value": { + "kind": "number", + "nativeSrc": "35115:1:21", + "nodeType": "YulLiteral", + "src": "35115:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "35105:6:21", + "nodeType": "YulTypedName", + "src": "35105:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "35130:63:21", + "nodeType": "YulAssignment", + "src": "35130:63:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35165:9:21", + "nodeType": "YulIdentifier", + "src": "35165:9:21" + }, + { + "name": "offset", + "nativeSrc": "35176:6:21", + "nodeType": "YulIdentifier", + "src": "35176:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35161:3:21", + "nodeType": "YulIdentifier", + "src": "35161:3:21" + }, + "nativeSrc": "35161:22:21", + "nodeType": "YulFunctionCall", + "src": "35161:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "35185:7:21", + "nodeType": "YulIdentifier", + "src": "35185:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nativeSrc": "35140:20:21", + "nodeType": "YulIdentifier", + "src": "35140:20:21" + }, + "nativeSrc": "35140:53:21", + "nodeType": "YulFunctionCall", + "src": "35140:53:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "35130:6:21", + "nodeType": "YulIdentifier", + "src": "35130:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nativeSrc": "34881:329:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "34917:9:21", + "nodeType": "YulTypedName", + "src": "34917:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "34928:7:21", + "nodeType": "YulTypedName", + "src": "34928:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "34940:6:21", + "nodeType": "YulTypedName", + "src": "34940:6:21", + "type": "" + } + ], + "src": "34881:329:21" + }, + { + "body": { + "nativeSrc": "35322:69:21", + "nodeType": "YulBlock", + "src": "35322:69:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "35344:6:21", + "nodeType": "YulIdentifier", + "src": "35344:6:21" + }, + { + "kind": "number", + "nativeSrc": "35352:1:21", + "nodeType": "YulLiteral", + "src": "35352:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35340:3:21", + "nodeType": "YulIdentifier", + "src": "35340:3:21" + }, + "nativeSrc": "35340:14:21", + "nodeType": "YulFunctionCall", + "src": "35340:14:21" + }, + { + "hexValue": "546f6f206d616e7920737562646f6d61696e206c6576656c73", + "kind": "string", + "nativeSrc": "35356:27:21", + "nodeType": "YulLiteral", + "src": "35356:27:21", + "type": "", + "value": "Too many subdomain levels" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "35333:6:21", + "nodeType": "YulIdentifier", + "src": "35333:6:21" + }, + "nativeSrc": "35333:51:21", + "nodeType": "YulFunctionCall", + "src": "35333:51:21" + }, + "nativeSrc": "35333:51:21", + "nodeType": "YulExpressionStatement", + "src": "35333:51:21" + } + ] + }, + "name": "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "nativeSrc": "35216:175:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "35314:6:21", + "nodeType": "YulTypedName", + "src": "35314:6:21", + "type": "" + } + ], + "src": "35216:175:21" + }, + { + "body": { + "nativeSrc": "35543:220:21", + "nodeType": "YulBlock", + "src": "35543:220:21", + "statements": [ + { + "nativeSrc": "35553:74:21", + "nodeType": "YulAssignment", + "src": "35553:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35619:3:21", + "nodeType": "YulIdentifier", + "src": "35619:3:21" + }, + { + "kind": "number", + "nativeSrc": "35624:2:21", + "nodeType": "YulLiteral", + "src": "35624:2:21", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "35560:58:21", + "nodeType": "YulIdentifier", + "src": "35560:58:21" + }, + "nativeSrc": "35560:67:21", + "nodeType": "YulFunctionCall", + "src": "35560:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "35553:3:21", + "nodeType": "YulIdentifier", + "src": "35553:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35725:3:21", + "nodeType": "YulIdentifier", + "src": "35725:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f", + "nativeSrc": "35636:88:21", + "nodeType": "YulIdentifier", + "src": "35636:88:21" + }, + "nativeSrc": "35636:93:21", + "nodeType": "YulFunctionCall", + "src": "35636:93:21" + }, + "nativeSrc": "35636:93:21", + "nodeType": "YulExpressionStatement", + "src": "35636:93:21" + }, + { + "nativeSrc": "35738:19:21", + "nodeType": "YulAssignment", + "src": "35738:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "35749:3:21", + "nodeType": "YulIdentifier", + "src": "35749:3:21" + }, + { + "kind": "number", + "nativeSrc": "35754:2:21", + "nodeType": "YulLiteral", + "src": "35754:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35745:3:21", + "nodeType": "YulIdentifier", + "src": "35745:3:21" + }, + "nativeSrc": "35745:12:21", + "nodeType": "YulFunctionCall", + "src": "35745:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "35738:3:21", + "nodeType": "YulIdentifier", + "src": "35738:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "35397:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "35531:3:21", + "nodeType": "YulTypedName", + "src": "35531:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "35539:3:21", + "nodeType": "YulTypedName", + "src": "35539:3:21", + "type": "" + } + ], + "src": "35397:366:21" + }, + { + "body": { + "nativeSrc": "35940:248:21", + "nodeType": "YulBlock", + "src": "35940:248:21", + "statements": [ + { + "nativeSrc": "35950:26:21", + "nodeType": "YulAssignment", + "src": "35950:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35962:9:21", + "nodeType": "YulIdentifier", + "src": "35962:9:21" + }, + { + "kind": "number", + "nativeSrc": "35973:2:21", + "nodeType": "YulLiteral", + "src": "35973:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35958:3:21", + "nodeType": "YulIdentifier", + "src": "35958:3:21" + }, + "nativeSrc": "35958:18:21", + "nodeType": "YulFunctionCall", + "src": "35958:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "35950:4:21", + "nodeType": "YulIdentifier", + "src": "35950:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "35997:9:21", + "nodeType": "YulIdentifier", + "src": "35997:9:21" + }, + { + "kind": "number", + "nativeSrc": "36008:1:21", + "nodeType": "YulLiteral", + "src": "36008:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "35993:3:21", + "nodeType": "YulIdentifier", + "src": "35993:3:21" + }, + "nativeSrc": "35993:17:21", + "nodeType": "YulFunctionCall", + "src": "35993:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "36016:4:21", + "nodeType": "YulIdentifier", + "src": "36016:4:21" + }, + { + "name": "headStart", + "nativeSrc": "36022:9:21", + "nodeType": "YulIdentifier", + "src": "36022:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "36012:3:21", + "nodeType": "YulIdentifier", + "src": "36012:3:21" + }, + "nativeSrc": "36012:20:21", + "nodeType": "YulFunctionCall", + "src": "36012:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "35986:6:21", + "nodeType": "YulIdentifier", + "src": "35986:6:21" + }, + "nativeSrc": "35986:47:21", + "nodeType": "YulFunctionCall", + "src": "35986:47:21" + }, + "nativeSrc": "35986:47:21", + "nodeType": "YulExpressionStatement", + "src": "35986:47:21" + }, + { + "nativeSrc": "36042:139:21", + "nodeType": "YulAssignment", + "src": "36042:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "36176:4:21", + "nodeType": "YulIdentifier", + "src": "36176:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "36050:124:21", + "nodeType": "YulIdentifier", + "src": "36050:124:21" + }, + "nativeSrc": "36050:131:21", + "nodeType": "YulFunctionCall", + "src": "36050:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "36042:4:21", + "nodeType": "YulIdentifier", + "src": "36042:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "35769:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "35920:9:21", + "nodeType": "YulTypedName", + "src": "35920:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "35935:4:21", + "nodeType": "YulTypedName", + "src": "35935:4:21", + "type": "" + } + ], + "src": "35769:419:21" + }, + { + "body": { + "nativeSrc": "36259:31:21", + "nodeType": "YulBlock", + "src": "36259:31:21", + "statements": [ + { + "nativeSrc": "36270:13:21", + "nodeType": "YulAssignment", + "src": "36270:13:21", + "value": { + "name": "len", + "nativeSrc": "36280:3:21", + "nodeType": "YulIdentifier", + "src": "36280:3:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "36270:6:21", + "nodeType": "YulIdentifier", + "src": "36270:6:21" + } + ] + } + ] + }, + "name": "array_length_t_bytes_calldata_ptr", + "nativeSrc": "36194:96:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "36237:5:21", + "nodeType": "YulTypedName", + "src": "36237:5:21", + "type": "" + }, + { + "name": "len", + "nativeSrc": "36244:3:21", + "nodeType": "YulTypedName", + "src": "36244:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "36252:6:21", + "nodeType": "YulTypedName", + "src": "36252:6:21", + "type": "" + } + ], + "src": "36194:96:21" + }, + { + "body": { + "nativeSrc": "36354:28:21", + "nodeType": "YulBlock", + "src": "36354:28:21", + "statements": [ + { + "nativeSrc": "36364:11:21", + "nodeType": "YulAssignment", + "src": "36364:11:21", + "value": { + "name": "ptr", + "nativeSrc": "36372:3:21", + "nodeType": "YulIdentifier", + "src": "36372:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "36364:4:21", + "nodeType": "YulIdentifier", + "src": "36364:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_bytes_calldata_ptr", + "nativeSrc": "36296:86:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "36341:3:21", + "nodeType": "YulTypedName", + "src": "36341:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "36349:4:21", + "nodeType": "YulTypedName", + "src": "36349:4:21", + "type": "" + } + ], + "src": "36296:86:21" + }, + { + "body": { + "nativeSrc": "36441:54:21", + "nodeType": "YulBlock", + "src": "36441:54:21", + "statements": [ + { + "nativeSrc": "36451:37:21", + "nodeType": "YulAssignment", + "src": "36451:37:21", + "value": { + "arguments": [ + { + "name": "bits", + "nativeSrc": "36476:4:21", + "nodeType": "YulIdentifier", + "src": "36476:4:21" + }, + { + "name": "value", + "nativeSrc": "36482:5:21", + "nodeType": "YulIdentifier", + "src": "36482:5:21" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "36472:3:21", + "nodeType": "YulIdentifier", + "src": "36472:3:21" + }, + "nativeSrc": "36472:16:21", + "nodeType": "YulFunctionCall", + "src": "36472:16:21" + }, + "variableNames": [ + { + "name": "newValue", + "nativeSrc": "36451:8:21", + "nodeType": "YulIdentifier", + "src": "36451:8:21" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nativeSrc": "36388:107:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nativeSrc": "36416:4:21", + "nodeType": "YulTypedName", + "src": "36416:4:21", + "type": "" + }, + { + "name": "value", + "nativeSrc": "36422:5:21", + "nodeType": "YulTypedName", + "src": "36422:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nativeSrc": "36432:8:21", + "nodeType": "YulTypedName", + "src": "36432:8:21", + "type": "" + } + ], + "src": "36388:107:21" + }, + { + "body": { + "nativeSrc": "36597:452:21", + "nodeType": "YulBlock", + "src": "36597:452:21", + "statements": [ + { + "nativeSrc": "36608:59:21", + "nodeType": "YulVariableDeclaration", + "src": "36608:59:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "36656:5:21", + "nodeType": "YulIdentifier", + "src": "36656:5:21" + }, + { + "name": "len", + "nativeSrc": "36663:3:21", + "nodeType": "YulIdentifier", + "src": "36663:3:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_calldata_ptr", + "nativeSrc": "36622:33:21", + "nodeType": "YulIdentifier", + "src": "36622:33:21" + }, + "nativeSrc": "36622:45:21", + "nodeType": "YulFunctionCall", + "src": "36622:45:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "36612:6:21", + "nodeType": "YulTypedName", + "src": "36612:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "36676:21:21", + "nodeType": "YulVariableDeclaration", + "src": "36676:21:21", + "value": { + "name": "array", + "nativeSrc": "36692:5:21", + "nodeType": "YulIdentifier", + "src": "36692:5:21" + }, + "variables": [ + { + "name": "dataArea", + "nativeSrc": "36680:8:21", + "nodeType": "YulTypedName", + "src": "36680:8:21", + "type": "" + } + ] + }, + { + "nativeSrc": "36707:49:21", + "nodeType": "YulAssignment", + "src": "36707:49:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "dataArea", + "nativeSrc": "36746:8:21", + "nodeType": "YulIdentifier", + "src": "36746:8:21" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "36733:12:21", + "nodeType": "YulIdentifier", + "src": "36733:12:21" + }, + "nativeSrc": "36733:22:21", + "nodeType": "YulFunctionCall", + "src": "36733:22:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "36716:16:21", + "nodeType": "YulIdentifier", + "src": "36716:16:21" + }, + "nativeSrc": "36716:40:21", + "nodeType": "YulFunctionCall", + "src": "36716:40:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "36707:5:21", + "nodeType": "YulIdentifier", + "src": "36707:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "36783:259:21", + "nodeType": "YulBlock", + "src": "36783:259:21", + "statements": [ + { + "nativeSrc": "36797:235:21", + "nodeType": "YulAssignment", + "src": "36797:235:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "36827:5:21", + "nodeType": "YulIdentifier", + "src": "36827:5:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "36894:1:21", + "nodeType": "YulLiteral", + "src": "36894:1:21", + "type": "", + "value": "8" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "36901:1:21", + "nodeType": "YulLiteral", + "src": "36901:1:21", + "type": "", + "value": "4" + }, + { + "name": "length", + "nativeSrc": "36904:6:21", + "nodeType": "YulIdentifier", + "src": "36904:6:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "36897:3:21", + "nodeType": "YulIdentifier", + "src": "36897:3:21" + }, + "nativeSrc": "36897:14:21", + "nodeType": "YulFunctionCall", + "src": "36897:14:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "36890:3:21", + "nodeType": "YulIdentifier", + "src": "36890:3:21" + }, + "nativeSrc": "36890:22:21", + "nodeType": "YulFunctionCall", + "src": "36890:22:21" + }, + { + "kind": "number", + "nativeSrc": "36934:66:21", + "nodeType": "YulLiteral", + "src": "36934:66:21", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nativeSrc": "36850:18:21", + "nodeType": "YulIdentifier", + "src": "36850:18:21" + }, + "nativeSrc": "36850:168:21", + "nodeType": "YulFunctionCall", + "src": "36850:168:21" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "36806:3:21", + "nodeType": "YulIdentifier", + "src": "36806:3:21" + }, + "nativeSrc": "36806:226:21", + "nodeType": "YulFunctionCall", + "src": "36806:226:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "36797:5:21", + "nodeType": "YulIdentifier", + "src": "36797:5:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "36772:6:21", + "nodeType": "YulIdentifier", + "src": "36772:6:21" + }, + { + "kind": "number", + "nativeSrc": "36780:1:21", + "nodeType": "YulLiteral", + "src": "36780:1:21", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "36769:2:21", + "nodeType": "YulIdentifier", + "src": "36769:2:21" + }, + "nativeSrc": "36769:13:21", + "nodeType": "YulFunctionCall", + "src": "36769:13:21" + }, + "nativeSrc": "36766:276:21", + "nodeType": "YulIf", + "src": "36766:276:21" + } + ] + }, + "name": "convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4", + "nativeSrc": "36501:548:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "36576:5:21", + "nodeType": "YulTypedName", + "src": "36576:5:21", + "type": "" + }, + { + "name": "len", + "nativeSrc": "36583:3:21", + "nodeType": "YulTypedName", + "src": "36583:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "36591:5:21", + "nodeType": "YulTypedName", + "src": "36591:5:21", + "type": "" + } + ], + "src": "36501:548:21" + }, + { + "body": { + "nativeSrc": "37161:60:21", + "nodeType": "YulBlock", + "src": "37161:60:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "37183:6:21", + "nodeType": "YulIdentifier", + "src": "37183:6:21" + }, + { + "kind": "number", + "nativeSrc": "37191:1:21", + "nodeType": "YulLiteral", + "src": "37191:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37179:3:21", + "nodeType": "YulIdentifier", + "src": "37179:3:21" + }, + "nativeSrc": "37179:14:21", + "nodeType": "YulFunctionCall", + "src": "37179:14:21" + }, + { + "hexValue": "696e76616c69642073656c6563746f72", + "kind": "string", + "nativeSrc": "37195:18:21", + "nodeType": "YulLiteral", + "src": "37195:18:21", + "type": "", + "value": "invalid selector" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "37172:6:21", + "nodeType": "YulIdentifier", + "src": "37172:6:21" + }, + "nativeSrc": "37172:42:21", + "nodeType": "YulFunctionCall", + "src": "37172:42:21" + }, + "nativeSrc": "37172:42:21", + "nodeType": "YulExpressionStatement", + "src": "37172:42:21" + } + ] + }, + "name": "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "nativeSrc": "37055:166:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "37153:6:21", + "nodeType": "YulTypedName", + "src": "37153:6:21", + "type": "" + } + ], + "src": "37055:166:21" + }, + { + "body": { + "nativeSrc": "37373:220:21", + "nodeType": "YulBlock", + "src": "37373:220:21", + "statements": [ + { + "nativeSrc": "37383:74:21", + "nodeType": "YulAssignment", + "src": "37383:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37449:3:21", + "nodeType": "YulIdentifier", + "src": "37449:3:21" + }, + { + "kind": "number", + "nativeSrc": "37454:2:21", + "nodeType": "YulLiteral", + "src": "37454:2:21", + "type": "", + "value": "16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "37390:58:21", + "nodeType": "YulIdentifier", + "src": "37390:58:21" + }, + "nativeSrc": "37390:67:21", + "nodeType": "YulFunctionCall", + "src": "37390:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "37383:3:21", + "nodeType": "YulIdentifier", + "src": "37383:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37555:3:21", + "nodeType": "YulIdentifier", + "src": "37555:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92", + "nativeSrc": "37466:88:21", + "nodeType": "YulIdentifier", + "src": "37466:88:21" + }, + "nativeSrc": "37466:93:21", + "nodeType": "YulFunctionCall", + "src": "37466:93:21" + }, + "nativeSrc": "37466:93:21", + "nodeType": "YulExpressionStatement", + "src": "37466:93:21" + }, + { + "nativeSrc": "37568:19:21", + "nodeType": "YulAssignment", + "src": "37568:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "37579:3:21", + "nodeType": "YulIdentifier", + "src": "37579:3:21" + }, + { + "kind": "number", + "nativeSrc": "37584:2:21", + "nodeType": "YulLiteral", + "src": "37584:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37575:3:21", + "nodeType": "YulIdentifier", + "src": "37575:3:21" + }, + "nativeSrc": "37575:12:21", + "nodeType": "YulFunctionCall", + "src": "37575:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "37568:3:21", + "nodeType": "YulIdentifier", + "src": "37568:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack", + "nativeSrc": "37227:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "37361:3:21", + "nodeType": "YulTypedName", + "src": "37361:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "37369:3:21", + "nodeType": "YulTypedName", + "src": "37369:3:21", + "type": "" + } + ], + "src": "37227:366:21" + }, + { + "body": { + "nativeSrc": "37770:248:21", + "nodeType": "YulBlock", + "src": "37770:248:21", + "statements": [ + { + "nativeSrc": "37780:26:21", + "nodeType": "YulAssignment", + "src": "37780:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "37792:9:21", + "nodeType": "YulIdentifier", + "src": "37792:9:21" + }, + { + "kind": "number", + "nativeSrc": "37803:2:21", + "nodeType": "YulLiteral", + "src": "37803:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37788:3:21", + "nodeType": "YulIdentifier", + "src": "37788:3:21" + }, + "nativeSrc": "37788:18:21", + "nodeType": "YulFunctionCall", + "src": "37788:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "37780:4:21", + "nodeType": "YulIdentifier", + "src": "37780:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "37827:9:21", + "nodeType": "YulIdentifier", + "src": "37827:9:21" + }, + { + "kind": "number", + "nativeSrc": "37838:1:21", + "nodeType": "YulLiteral", + "src": "37838:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "37823:3:21", + "nodeType": "YulIdentifier", + "src": "37823:3:21" + }, + "nativeSrc": "37823:17:21", + "nodeType": "YulFunctionCall", + "src": "37823:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "37846:4:21", + "nodeType": "YulIdentifier", + "src": "37846:4:21" + }, + { + "name": "headStart", + "nativeSrc": "37852:9:21", + "nodeType": "YulIdentifier", + "src": "37852:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "37842:3:21", + "nodeType": "YulIdentifier", + "src": "37842:3:21" + }, + "nativeSrc": "37842:20:21", + "nodeType": "YulFunctionCall", + "src": "37842:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "37816:6:21", + "nodeType": "YulIdentifier", + "src": "37816:6:21" + }, + "nativeSrc": "37816:47:21", + "nodeType": "YulFunctionCall", + "src": "37816:47:21" + }, + "nativeSrc": "37816:47:21", + "nodeType": "YulExpressionStatement", + "src": "37816:47:21" + }, + { + "nativeSrc": "37872:139:21", + "nodeType": "YulAssignment", + "src": "37872:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "38006:4:21", + "nodeType": "YulIdentifier", + "src": "38006:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack", + "nativeSrc": "37880:124:21", + "nodeType": "YulIdentifier", + "src": "37880:124:21" + }, + "nativeSrc": "37880:131:21", + "nodeType": "YulFunctionCall", + "src": "37880:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "37872:4:21", + "nodeType": "YulIdentifier", + "src": "37872:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "37599:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "37750:9:21", + "nodeType": "YulTypedName", + "src": "37750:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "37765:4:21", + "nodeType": "YulTypedName", + "src": "37765:4:21", + "type": "" + } + ], + "src": "37599:419:21" + }, + { + "body": { + "nativeSrc": "38130:136:21", + "nodeType": "YulBlock", + "src": "38130:136:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "38152:6:21", + "nodeType": "YulIdentifier", + "src": "38152:6:21" + }, + { + "kind": "number", + "nativeSrc": "38160:1:21", + "nodeType": "YulLiteral", + "src": "38160:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38148:3:21", + "nodeType": "YulIdentifier", + "src": "38148:3:21" + }, + "nativeSrc": "38148:14:21", + "nodeType": "YulFunctionCall", + "src": "38148:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420616464", + "kind": "string", + "nativeSrc": "38164:34:21", + "nodeType": "YulLiteral", + "src": "38164:34:21", + "type": "", + "value": "Not authorized to set target add" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38141:6:21", + "nodeType": "YulIdentifier", + "src": "38141:6:21" + }, + "nativeSrc": "38141:58:21", + "nodeType": "YulFunctionCall", + "src": "38141:58:21" + }, + "nativeSrc": "38141:58:21", + "nodeType": "YulExpressionStatement", + "src": "38141:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "38220:6:21", + "nodeType": "YulIdentifier", + "src": "38220:6:21" + }, + { + "kind": "number", + "nativeSrc": "38228:2:21", + "nodeType": "YulLiteral", + "src": "38228:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38216:3:21", + "nodeType": "YulIdentifier", + "src": "38216:3:21" + }, + "nativeSrc": "38216:15:21", + "nodeType": "YulFunctionCall", + "src": "38216:15:21" + }, + { + "hexValue": "7265737320736c6f7420666f722074686973206e6f6465", + "kind": "string", + "nativeSrc": "38233:25:21", + "nodeType": "YulLiteral", + "src": "38233:25:21", + "type": "", + "value": "ress slot for this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38209:6:21", + "nodeType": "YulIdentifier", + "src": "38209:6:21" + }, + "nativeSrc": "38209:50:21", + "nodeType": "YulFunctionCall", + "src": "38209:50:21" + }, + "nativeSrc": "38209:50:21", + "nodeType": "YulExpressionStatement", + "src": "38209:50:21" + } + ] + }, + "name": "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "nativeSrc": "38024:242:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "38122:6:21", + "nodeType": "YulTypedName", + "src": "38122:6:21", + "type": "" + } + ], + "src": "38024:242:21" + }, + { + "body": { + "nativeSrc": "38418:220:21", + "nodeType": "YulBlock", + "src": "38418:220:21", + "statements": [ + { + "nativeSrc": "38428:74:21", + "nodeType": "YulAssignment", + "src": "38428:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38494:3:21", + "nodeType": "YulIdentifier", + "src": "38494:3:21" + }, + { + "kind": "number", + "nativeSrc": "38499:2:21", + "nodeType": "YulLiteral", + "src": "38499:2:21", + "type": "", + "value": "55" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "38435:58:21", + "nodeType": "YulIdentifier", + "src": "38435:58:21" + }, + "nativeSrc": "38435:67:21", + "nodeType": "YulFunctionCall", + "src": "38435:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "38428:3:21", + "nodeType": "YulIdentifier", + "src": "38428:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38600:3:21", + "nodeType": "YulIdentifier", + "src": "38600:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f", + "nativeSrc": "38511:88:21", + "nodeType": "YulIdentifier", + "src": "38511:88:21" + }, + "nativeSrc": "38511:93:21", + "nodeType": "YulFunctionCall", + "src": "38511:93:21" + }, + "nativeSrc": "38511:93:21", + "nodeType": "YulExpressionStatement", + "src": "38511:93:21" + }, + { + "nativeSrc": "38613:19:21", + "nodeType": "YulAssignment", + "src": "38613:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "38624:3:21", + "nodeType": "YulIdentifier", + "src": "38624:3:21" + }, + { + "kind": "number", + "nativeSrc": "38629:2:21", + "nodeType": "YulLiteral", + "src": "38629:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38620:3:21", + "nodeType": "YulIdentifier", + "src": "38620:3:21" + }, + "nativeSrc": "38620:12:21", + "nodeType": "YulFunctionCall", + "src": "38620:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "38613:3:21", + "nodeType": "YulIdentifier", + "src": "38613:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "38272:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "38406:3:21", + "nodeType": "YulTypedName", + "src": "38406:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "38414:3:21", + "nodeType": "YulTypedName", + "src": "38414:3:21", + "type": "" + } + ], + "src": "38272:366:21" + }, + { + "body": { + "nativeSrc": "38815:248:21", + "nodeType": "YulBlock", + "src": "38815:248:21", + "statements": [ + { + "nativeSrc": "38825:26:21", + "nodeType": "YulAssignment", + "src": "38825:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "38837:9:21", + "nodeType": "YulIdentifier", + "src": "38837:9:21" + }, + { + "kind": "number", + "nativeSrc": "38848:2:21", + "nodeType": "YulLiteral", + "src": "38848:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38833:3:21", + "nodeType": "YulIdentifier", + "src": "38833:3:21" + }, + "nativeSrc": "38833:18:21", + "nodeType": "YulFunctionCall", + "src": "38833:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "38825:4:21", + "nodeType": "YulIdentifier", + "src": "38825:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "38872:9:21", + "nodeType": "YulIdentifier", + "src": "38872:9:21" + }, + { + "kind": "number", + "nativeSrc": "38883:1:21", + "nodeType": "YulLiteral", + "src": "38883:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "38868:3:21", + "nodeType": "YulIdentifier", + "src": "38868:3:21" + }, + "nativeSrc": "38868:17:21", + "nodeType": "YulFunctionCall", + "src": "38868:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "38891:4:21", + "nodeType": "YulIdentifier", + "src": "38891:4:21" + }, + { + "name": "headStart", + "nativeSrc": "38897:9:21", + "nodeType": "YulIdentifier", + "src": "38897:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "38887:3:21", + "nodeType": "YulIdentifier", + "src": "38887:3:21" + }, + "nativeSrc": "38887:20:21", + "nodeType": "YulFunctionCall", + "src": "38887:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "38861:6:21", + "nodeType": "YulIdentifier", + "src": "38861:6:21" + }, + "nativeSrc": "38861:47:21", + "nodeType": "YulFunctionCall", + "src": "38861:47:21" + }, + "nativeSrc": "38861:47:21", + "nodeType": "YulExpressionStatement", + "src": "38861:47:21" + }, + { + "nativeSrc": "38917:139:21", + "nodeType": "YulAssignment", + "src": "38917:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "39051:4:21", + "nodeType": "YulIdentifier", + "src": "39051:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack", + "nativeSrc": "38925:124:21", + "nodeType": "YulIdentifier", + "src": "38925:124:21" + }, + "nativeSrc": "38925:131:21", + "nodeType": "YulFunctionCall", + "src": "38925:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "38917:4:21", + "nodeType": "YulIdentifier", + "src": "38917:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "38644:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "38795:9:21", + "nodeType": "YulTypedName", + "src": "38795:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "38810:4:21", + "nodeType": "YulTypedName", + "src": "38810:4:21", + "type": "" + } + ], + "src": "38644:419:21" + }, + { + "body": { + "nativeSrc": "39195:206:21", + "nodeType": "YulBlock", + "src": "39195:206:21", + "statements": [ + { + "nativeSrc": "39205:26:21", + "nodeType": "YulAssignment", + "src": "39205:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39217:9:21", + "nodeType": "YulIdentifier", + "src": "39217:9:21" + }, + { + "kind": "number", + "nativeSrc": "39228:2:21", + "nodeType": "YulLiteral", + "src": "39228:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39213:3:21", + "nodeType": "YulIdentifier", + "src": "39213:3:21" + }, + "nativeSrc": "39213:18:21", + "nodeType": "YulFunctionCall", + "src": "39213:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "39205:4:21", + "nodeType": "YulIdentifier", + "src": "39205:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "39285:6:21", + "nodeType": "YulIdentifier", + "src": "39285:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39298:9:21", + "nodeType": "YulIdentifier", + "src": "39298:9:21" + }, + { + "kind": "number", + "nativeSrc": "39309:1:21", + "nodeType": "YulLiteral", + "src": "39309:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39294:3:21", + "nodeType": "YulIdentifier", + "src": "39294:3:21" + }, + "nativeSrc": "39294:17:21", + "nodeType": "YulFunctionCall", + "src": "39294:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "39241:43:21", + "nodeType": "YulIdentifier", + "src": "39241:43:21" + }, + "nativeSrc": "39241:71:21", + "nodeType": "YulFunctionCall", + "src": "39241:71:21" + }, + "nativeSrc": "39241:71:21", + "nodeType": "YulExpressionStatement", + "src": "39241:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "39366:6:21", + "nodeType": "YulIdentifier", + "src": "39366:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "39379:9:21", + "nodeType": "YulIdentifier", + "src": "39379:9:21" + }, + { + "kind": "number", + "nativeSrc": "39390:2:21", + "nodeType": "YulLiteral", + "src": "39390:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39375:3:21", + "nodeType": "YulIdentifier", + "src": "39375:3:21" + }, + "nativeSrc": "39375:18:21", + "nodeType": "YulFunctionCall", + "src": "39375:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "39322:43:21", + "nodeType": "YulIdentifier", + "src": "39322:43:21" + }, + "nativeSrc": "39322:72:21", + "nodeType": "YulFunctionCall", + "src": "39322:72:21" + }, + "nativeSrc": "39322:72:21", + "nodeType": "YulExpressionStatement", + "src": "39322:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "39069:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "39159:9:21", + "nodeType": "YulTypedName", + "src": "39159:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "39171:6:21", + "nodeType": "YulTypedName", + "src": "39171:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "39179:6:21", + "nodeType": "YulTypedName", + "src": "39179:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "39190:4:21", + "nodeType": "YulTypedName", + "src": "39190:4:21", + "type": "" + } + ], + "src": "39069:332:21" + }, + { + "body": { + "nativeSrc": "39513:125:21", + "nodeType": "YulBlock", + "src": "39513:125:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "39535:6:21", + "nodeType": "YulIdentifier", + "src": "39535:6:21" + }, + { + "kind": "number", + "nativeSrc": "39543:1:21", + "nodeType": "YulLiteral", + "src": "39543:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39531:3:21", + "nodeType": "YulIdentifier", + "src": "39531:3:21" + }, + "nativeSrc": "39531:14:21", + "nodeType": "YulFunctionCall", + "src": "39531:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f20736574207265736f6c7665722066", + "kind": "string", + "nativeSrc": "39547:34:21", + "nodeType": "YulLiteral", + "src": "39547:34:21", + "type": "", + "value": "Not authorized to set resolver f" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "39524:6:21", + "nodeType": "YulIdentifier", + "src": "39524:6:21" + }, + "nativeSrc": "39524:58:21", + "nodeType": "YulFunctionCall", + "src": "39524:58:21" + }, + "nativeSrc": "39524:58:21", + "nodeType": "YulExpressionStatement", + "src": "39524:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "39603:6:21", + "nodeType": "YulIdentifier", + "src": "39603:6:21" + }, + { + "kind": "number", + "nativeSrc": "39611:2:21", + "nodeType": "YulLiteral", + "src": "39611:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39599:3:21", + "nodeType": "YulIdentifier", + "src": "39599:3:21" + }, + "nativeSrc": "39599:15:21", + "nodeType": "YulFunctionCall", + "src": "39599:15:21" + }, + { + "hexValue": "6f722074686973206e6f6465", + "kind": "string", + "nativeSrc": "39616:14:21", + "nodeType": "YulLiteral", + "src": "39616:14:21", + "type": "", + "value": "or this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "39592:6:21", + "nodeType": "YulIdentifier", + "src": "39592:6:21" + }, + "nativeSrc": "39592:39:21", + "nodeType": "YulFunctionCall", + "src": "39592:39:21" + }, + "nativeSrc": "39592:39:21", + "nodeType": "YulExpressionStatement", + "src": "39592:39:21" + } + ] + }, + "name": "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "nativeSrc": "39407:231:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "39505:6:21", + "nodeType": "YulTypedName", + "src": "39505:6:21", + "type": "" + } + ], + "src": "39407:231:21" + }, + { + "body": { + "nativeSrc": "39790:220:21", + "nodeType": "YulBlock", + "src": "39790:220:21", + "statements": [ + { + "nativeSrc": "39800:74:21", + "nodeType": "YulAssignment", + "src": "39800:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39866:3:21", + "nodeType": "YulIdentifier", + "src": "39866:3:21" + }, + { + "kind": "number", + "nativeSrc": "39871:2:21", + "nodeType": "YulLiteral", + "src": "39871:2:21", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "39807:58:21", + "nodeType": "YulIdentifier", + "src": "39807:58:21" + }, + "nativeSrc": "39807:67:21", + "nodeType": "YulFunctionCall", + "src": "39807:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "39800:3:21", + "nodeType": "YulIdentifier", + "src": "39800:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39972:3:21", + "nodeType": "YulIdentifier", + "src": "39972:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1", + "nativeSrc": "39883:88:21", + "nodeType": "YulIdentifier", + "src": "39883:88:21" + }, + "nativeSrc": "39883:93:21", + "nodeType": "YulFunctionCall", + "src": "39883:93:21" + }, + "nativeSrc": "39883:93:21", + "nodeType": "YulExpressionStatement", + "src": "39883:93:21" + }, + { + "nativeSrc": "39985:19:21", + "nodeType": "YulAssignment", + "src": "39985:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "39996:3:21", + "nodeType": "YulIdentifier", + "src": "39996:3:21" + }, + { + "kind": "number", + "nativeSrc": "40001:2:21", + "nodeType": "YulLiteral", + "src": "40001:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "39992:3:21", + "nodeType": "YulIdentifier", + "src": "39992:3:21" + }, + "nativeSrc": "39992:12:21", + "nodeType": "YulFunctionCall", + "src": "39992:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "39985:3:21", + "nodeType": "YulIdentifier", + "src": "39985:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack", + "nativeSrc": "39644:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "39778:3:21", + "nodeType": "YulTypedName", + "src": "39778:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "39786:3:21", + "nodeType": "YulTypedName", + "src": "39786:3:21", + "type": "" + } + ], + "src": "39644:366:21" + }, + { + "body": { + "nativeSrc": "40187:248:21", + "nodeType": "YulBlock", + "src": "40187:248:21", + "statements": [ + { + "nativeSrc": "40197:26:21", + "nodeType": "YulAssignment", + "src": "40197:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "40209:9:21", + "nodeType": "YulIdentifier", + "src": "40209:9:21" + }, + { + "kind": "number", + "nativeSrc": "40220:2:21", + "nodeType": "YulLiteral", + "src": "40220:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40205:3:21", + "nodeType": "YulIdentifier", + "src": "40205:3:21" + }, + "nativeSrc": "40205:18:21", + "nodeType": "YulFunctionCall", + "src": "40205:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "40197:4:21", + "nodeType": "YulIdentifier", + "src": "40197:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "40244:9:21", + "nodeType": "YulIdentifier", + "src": "40244:9:21" + }, + { + "kind": "number", + "nativeSrc": "40255:1:21", + "nodeType": "YulLiteral", + "src": "40255:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40240:3:21", + "nodeType": "YulIdentifier", + "src": "40240:3:21" + }, + "nativeSrc": "40240:17:21", + "nodeType": "YulFunctionCall", + "src": "40240:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "40263:4:21", + "nodeType": "YulIdentifier", + "src": "40263:4:21" + }, + { + "name": "headStart", + "nativeSrc": "40269:9:21", + "nodeType": "YulIdentifier", + "src": "40269:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "40259:3:21", + "nodeType": "YulIdentifier", + "src": "40259:3:21" + }, + "nativeSrc": "40259:20:21", + "nodeType": "YulFunctionCall", + "src": "40259:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40233:6:21", + "nodeType": "YulIdentifier", + "src": "40233:6:21" + }, + "nativeSrc": "40233:47:21", + "nodeType": "YulFunctionCall", + "src": "40233:47:21" + }, + "nativeSrc": "40233:47:21", + "nodeType": "YulExpressionStatement", + "src": "40233:47:21" + }, + { + "nativeSrc": "40289:139:21", + "nodeType": "YulAssignment", + "src": "40289:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "40423:4:21", + "nodeType": "YulIdentifier", + "src": "40423:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack", + "nativeSrc": "40297:124:21", + "nodeType": "YulIdentifier", + "src": "40297:124:21" + }, + "nativeSrc": "40297:131:21", + "nodeType": "YulFunctionCall", + "src": "40297:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "40289:4:21", + "nodeType": "YulIdentifier", + "src": "40289:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "40016:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "40167:9:21", + "nodeType": "YulTypedName", + "src": "40167:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "40182:4:21", + "nodeType": "YulTypedName", + "src": "40182:4:21", + "type": "" + } + ], + "src": "40016:419:21" + }, + { + "body": { + "nativeSrc": "40547:123:21", + "nodeType": "YulBlock", + "src": "40547:123:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "40569:6:21", + "nodeType": "YulIdentifier", + "src": "40569:6:21" + }, + { + "kind": "number", + "nativeSrc": "40577:1:21", + "nodeType": "YulLiteral", + "src": "40577:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40565:3:21", + "nodeType": "YulIdentifier", + "src": "40565:3:21" + }, + "nativeSrc": "40565:14:21", + "nodeType": "YulFunctionCall", + "src": "40565:14:21" + }, + { + "hexValue": "4e6f7420617574686f72697a656420746f207365742074617267657420666f72", + "kind": "string", + "nativeSrc": "40581:34:21", + "nodeType": "YulLiteral", + "src": "40581:34:21", + "type": "", + "value": "Not authorized to set target for" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40558:6:21", + "nodeType": "YulIdentifier", + "src": "40558:6:21" + }, + "nativeSrc": "40558:58:21", + "nodeType": "YulFunctionCall", + "src": "40558:58:21" + }, + "nativeSrc": "40558:58:21", + "nodeType": "YulExpressionStatement", + "src": "40558:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "40637:6:21", + "nodeType": "YulIdentifier", + "src": "40637:6:21" + }, + { + "kind": "number", + "nativeSrc": "40645:2:21", + "nodeType": "YulLiteral", + "src": "40645:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "40633:3:21", + "nodeType": "YulIdentifier", + "src": "40633:3:21" + }, + "nativeSrc": "40633:15:21", + "nodeType": "YulFunctionCall", + "src": "40633:15:21" + }, + { + "hexValue": "2074686973206e6f6465", + "kind": "string", + "nativeSrc": "40650:12:21", + "nodeType": "YulLiteral", + "src": "40650:12:21", + "type": "", + "value": " this node" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "40626:6:21", + "nodeType": "YulIdentifier", + "src": "40626:6:21" + }, + "nativeSrc": "40626:37:21", + "nodeType": "YulFunctionCall", + "src": "40626:37:21" + }, + "nativeSrc": "40626:37:21", + "nodeType": "YulExpressionStatement", + "src": "40626:37:21" + } + ] + }, + "name": "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "nativeSrc": "40441:229:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "40539:6:21", + "nodeType": "YulTypedName", + "src": "40539:6:21", + "type": "" + } + ], + "src": "40441:229:21" + }, + { + "body": { + "nativeSrc": "40822:220:21", + "nodeType": "YulBlock", + "src": "40822:220:21", + "statements": [ + { + "nativeSrc": "40832:74:21", + "nodeType": "YulAssignment", + "src": "40832:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "40898:3:21", + "nodeType": "YulIdentifier", + "src": "40898:3:21" + }, + { + "kind": "number", + "nativeSrc": "40903:2:21", + "nodeType": "YulLiteral", + "src": "40903:2:21", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "40839:58:21", + "nodeType": "YulIdentifier", + "src": "40839:58:21" + }, + "nativeSrc": "40839:67:21", + "nodeType": "YulFunctionCall", + "src": "40839:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "40832:3:21", + "nodeType": "YulIdentifier", + "src": "40832:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41004:3:21", + "nodeType": "YulIdentifier", + "src": "41004:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838", + "nativeSrc": "40915:88:21", + "nodeType": "YulIdentifier", + "src": "40915:88:21" + }, + "nativeSrc": "40915:93:21", + "nodeType": "YulFunctionCall", + "src": "40915:93:21" + }, + "nativeSrc": "40915:93:21", + "nodeType": "YulExpressionStatement", + "src": "40915:93:21" + }, + { + "nativeSrc": "41017:19:21", + "nodeType": "YulAssignment", + "src": "41017:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41028:3:21", + "nodeType": "YulIdentifier", + "src": "41028:3:21" + }, + { + "kind": "number", + "nativeSrc": "41033:2:21", + "nodeType": "YulLiteral", + "src": "41033:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41024:3:21", + "nodeType": "YulIdentifier", + "src": "41024:3:21" + }, + "nativeSrc": "41024:12:21", + "nodeType": "YulFunctionCall", + "src": "41024:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "41017:3:21", + "nodeType": "YulIdentifier", + "src": "41017:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack", + "nativeSrc": "40676:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "40810:3:21", + "nodeType": "YulTypedName", + "src": "40810:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "40818:3:21", + "nodeType": "YulTypedName", + "src": "40818:3:21", + "type": "" + } + ], + "src": "40676:366:21" + }, + { + "body": { + "nativeSrc": "41219:248:21", + "nodeType": "YulBlock", + "src": "41219:248:21", + "statements": [ + { + "nativeSrc": "41229:26:21", + "nodeType": "YulAssignment", + "src": "41229:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41241:9:21", + "nodeType": "YulIdentifier", + "src": "41241:9:21" + }, + { + "kind": "number", + "nativeSrc": "41252:2:21", + "nodeType": "YulLiteral", + "src": "41252:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41237:3:21", + "nodeType": "YulIdentifier", + "src": "41237:3:21" + }, + "nativeSrc": "41237:18:21", + "nodeType": "YulFunctionCall", + "src": "41237:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41229:4:21", + "nodeType": "YulIdentifier", + "src": "41229:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41276:9:21", + "nodeType": "YulIdentifier", + "src": "41276:9:21" + }, + { + "kind": "number", + "nativeSrc": "41287:1:21", + "nodeType": "YulLiteral", + "src": "41287:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41272:3:21", + "nodeType": "YulIdentifier", + "src": "41272:3:21" + }, + "nativeSrc": "41272:17:21", + "nodeType": "YulFunctionCall", + "src": "41272:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "41295:4:21", + "nodeType": "YulIdentifier", + "src": "41295:4:21" + }, + { + "name": "headStart", + "nativeSrc": "41301:9:21", + "nodeType": "YulIdentifier", + "src": "41301:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "41291:3:21", + "nodeType": "YulIdentifier", + "src": "41291:3:21" + }, + "nativeSrc": "41291:20:21", + "nodeType": "YulFunctionCall", + "src": "41291:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "41265:6:21", + "nodeType": "YulIdentifier", + "src": "41265:6:21" + }, + "nativeSrc": "41265:47:21", + "nodeType": "YulFunctionCall", + "src": "41265:47:21" + }, + "nativeSrc": "41265:47:21", + "nodeType": "YulExpressionStatement", + "src": "41265:47:21" + }, + { + "nativeSrc": "41321:139:21", + "nodeType": "YulAssignment", + "src": "41321:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "41455:4:21", + "nodeType": "YulIdentifier", + "src": "41455:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack", + "nativeSrc": "41329:124:21", + "nodeType": "YulIdentifier", + "src": "41329:124:21" + }, + "nativeSrc": "41329:131:21", + "nodeType": "YulFunctionCall", + "src": "41329:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41321:4:21", + "nodeType": "YulIdentifier", + "src": "41321:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "41048:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "41199:9:21", + "nodeType": "YulTypedName", + "src": "41199:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "41214:4:21", + "nodeType": "YulTypedName", + "src": "41214:4:21", + "type": "" + } + ], + "src": "41048:419:21" + }, + { + "body": { + "nativeSrc": "41595:214:21", + "nodeType": "YulBlock", + "src": "41595:214:21", + "statements": [ + { + "nativeSrc": "41605:77:21", + "nodeType": "YulAssignment", + "src": "41605:77:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41670:3:21", + "nodeType": "YulIdentifier", + "src": "41670:3:21" + }, + { + "name": "length", + "nativeSrc": "41675:6:21", + "nodeType": "YulIdentifier", + "src": "41675:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nativeSrc": "41612:57:21", + "nodeType": "YulIdentifier", + "src": "41612:57:21" + }, + "nativeSrc": "41612:70:21", + "nodeType": "YulFunctionCall", + "src": "41612:70:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "41605:3:21", + "nodeType": "YulIdentifier", + "src": "41605:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "41729:5:21", + "nodeType": "YulIdentifier", + "src": "41729:5:21" + }, + { + "name": "pos", + "nativeSrc": "41736:3:21", + "nodeType": "YulIdentifier", + "src": "41736:3:21" + }, + { + "name": "length", + "nativeSrc": "41741:6:21", + "nodeType": "YulIdentifier", + "src": "41741:6:21" + } + ], + "functionName": { + "name": "copy_calldata_to_memory_with_cleanup", + "nativeSrc": "41692:36:21", + "nodeType": "YulIdentifier", + "src": "41692:36:21" + }, + "nativeSrc": "41692:56:21", + "nodeType": "YulFunctionCall", + "src": "41692:56:21" + }, + "nativeSrc": "41692:56:21", + "nodeType": "YulExpressionStatement", + "src": "41692:56:21" + }, + { + "nativeSrc": "41757:46:21", + "nodeType": "YulAssignment", + "src": "41757:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "41768:3:21", + "nodeType": "YulIdentifier", + "src": "41768:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "41795:6:21", + "nodeType": "YulIdentifier", + "src": "41795:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "41773:21:21", + "nodeType": "YulIdentifier", + "src": "41773:21:21" + }, + "nativeSrc": "41773:29:21", + "nodeType": "YulFunctionCall", + "src": "41773:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41764:3:21", + "nodeType": "YulIdentifier", + "src": "41764:3:21" + }, + "nativeSrc": "41764:39:21", + "nodeType": "YulFunctionCall", + "src": "41764:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "41757:3:21", + "nodeType": "YulIdentifier", + "src": "41757:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "41495:314:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nativeSrc": "41568:5:21", + "nodeType": "YulTypedName", + "src": "41568:5:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "41575:6:21", + "nodeType": "YulTypedName", + "src": "41575:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "41583:3:21", + "nodeType": "YulTypedName", + "src": "41583:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "41591:3:21", + "nodeType": "YulTypedName", + "src": "41591:3:21", + "type": "" + } + ], + "src": "41495:314:21" + }, + { + "body": { + "nativeSrc": "41969:285:21", + "nodeType": "YulBlock", + "src": "41969:285:21", + "statements": [ + { + "nativeSrc": "41979:26:21", + "nodeType": "YulAssignment", + "src": "41979:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "41991:9:21", + "nodeType": "YulIdentifier", + "src": "41991:9:21" + }, + { + "kind": "number", + "nativeSrc": "42002:2:21", + "nodeType": "YulLiteral", + "src": "42002:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "41987:3:21", + "nodeType": "YulIdentifier", + "src": "41987:3:21" + }, + "nativeSrc": "41987:18:21", + "nodeType": "YulFunctionCall", + "src": "41987:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "41979:4:21", + "nodeType": "YulIdentifier", + "src": "41979:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42026:9:21", + "nodeType": "YulIdentifier", + "src": "42026:9:21" + }, + { + "kind": "number", + "nativeSrc": "42037:1:21", + "nodeType": "YulLiteral", + "src": "42037:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42022:3:21", + "nodeType": "YulIdentifier", + "src": "42022:3:21" + }, + "nativeSrc": "42022:17:21", + "nodeType": "YulFunctionCall", + "src": "42022:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "42045:4:21", + "nodeType": "YulIdentifier", + "src": "42045:4:21" + }, + { + "name": "headStart", + "nativeSrc": "42051:9:21", + "nodeType": "YulIdentifier", + "src": "42051:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "42041:3:21", + "nodeType": "YulIdentifier", + "src": "42041:3:21" + }, + "nativeSrc": "42041:20:21", + "nodeType": "YulFunctionCall", + "src": "42041:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42015:6:21", + "nodeType": "YulIdentifier", + "src": "42015:6:21" + }, + "nativeSrc": "42015:47:21", + "nodeType": "YulFunctionCall", + "src": "42015:47:21" + }, + "nativeSrc": "42015:47:21", + "nodeType": "YulExpressionStatement", + "src": "42015:47:21" + }, + { + "nativeSrc": "42071:94:21", + "nodeType": "YulAssignment", + "src": "42071:94:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "42143:6:21", + "nodeType": "YulIdentifier", + "src": "42143:6:21" + }, + { + "name": "value1", + "nativeSrc": "42151:6:21", + "nodeType": "YulIdentifier", + "src": "42151:6:21" + }, + { + "name": "tail", + "nativeSrc": "42160:4:21", + "nodeType": "YulIdentifier", + "src": "42160:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "42079:63:21", + "nodeType": "YulIdentifier", + "src": "42079:63:21" + }, + "nativeSrc": "42079:86:21", + "nodeType": "YulFunctionCall", + "src": "42079:86:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "42071:4:21", + "nodeType": "YulIdentifier", + "src": "42071:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "42219:6:21", + "nodeType": "YulIdentifier", + "src": "42219:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42232:9:21", + "nodeType": "YulIdentifier", + "src": "42232:9:21" + }, + { + "kind": "number", + "nativeSrc": "42243:2:21", + "nodeType": "YulLiteral", + "src": "42243:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42228:3:21", + "nodeType": "YulIdentifier", + "src": "42228:3:21" + }, + "nativeSrc": "42228:18:21", + "nodeType": "YulFunctionCall", + "src": "42228:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "42175:43:21", + "nodeType": "YulIdentifier", + "src": "42175:43:21" + }, + "nativeSrc": "42175:72:21", + "nodeType": "YulFunctionCall", + "src": "42175:72:21" + }, + "nativeSrc": "42175:72:21", + "nodeType": "YulExpressionStatement", + "src": "42175:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed", + "nativeSrc": "41815:439:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "41925:9:21", + "nodeType": "YulTypedName", + "src": "41925:9:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "41937:6:21", + "nodeType": "YulTypedName", + "src": "41937:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "41945:6:21", + "nodeType": "YulTypedName", + "src": "41945:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "41953:6:21", + "nodeType": "YulTypedName", + "src": "41953:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "41964:4:21", + "nodeType": "YulTypedName", + "src": "41964:4:21", + "type": "" + } + ], + "src": "41815:439:21" + }, + { + "body": { + "nativeSrc": "42288:152:21", + "nodeType": "YulBlock", + "src": "42288:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42305:1:21", + "nodeType": "YulLiteral", + "src": "42305:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "42308:77:21", + "nodeType": "YulLiteral", + "src": "42308:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42298:6:21", + "nodeType": "YulIdentifier", + "src": "42298:6:21" + }, + "nativeSrc": "42298:88:21", + "nodeType": "YulFunctionCall", + "src": "42298:88:21" + }, + "nativeSrc": "42298:88:21", + "nodeType": "YulExpressionStatement", + "src": "42298:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42402:1:21", + "nodeType": "YulLiteral", + "src": "42402:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "42405:4:21", + "nodeType": "YulLiteral", + "src": "42405:4:21", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "42395:6:21", + "nodeType": "YulIdentifier", + "src": "42395:6:21" + }, + "nativeSrc": "42395:15:21", + "nodeType": "YulFunctionCall", + "src": "42395:15:21" + }, + "nativeSrc": "42395:15:21", + "nodeType": "YulExpressionStatement", + "src": "42395:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "42426:1:21", + "nodeType": "YulLiteral", + "src": "42426:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "42429:4:21", + "nodeType": "YulLiteral", + "src": "42429:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "42419:6:21", + "nodeType": "YulIdentifier", + "src": "42419:6:21" + }, + "nativeSrc": "42419:15:21", + "nodeType": "YulFunctionCall", + "src": "42419:15:21" + }, + "nativeSrc": "42419:15:21", + "nodeType": "YulExpressionStatement", + "src": "42419:15:21" + } + ] + }, + "name": "panic_error_0x32", + "nativeSrc": "42260:180:21", + "nodeType": "YulFunctionDefinition", + "src": "42260:180:21" + }, + { + "body": { + "nativeSrc": "42517:88:21", + "nodeType": "YulBlock", + "src": "42517:88:21", + "statements": [ + { + "nativeSrc": "42527:22:21", + "nodeType": "YulAssignment", + "src": "42527:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "42542:6:21", + "nodeType": "YulIdentifier", + "src": "42542:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "42536:5:21", + "nodeType": "YulIdentifier", + "src": "42536:5:21" + }, + "nativeSrc": "42536:13:21", + "nodeType": "YulFunctionCall", + "src": "42536:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "42527:5:21", + "nodeType": "YulIdentifier", + "src": "42527:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "42593:5:21", + "nodeType": "YulIdentifier", + "src": "42593:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address_payable", + "nativeSrc": "42558:34:21", + "nodeType": "YulIdentifier", + "src": "42558:34:21" + }, + "nativeSrc": "42558:41:21", + "nodeType": "YulFunctionCall", + "src": "42558:41:21" + }, + "nativeSrc": "42558:41:21", + "nodeType": "YulExpressionStatement", + "src": "42558:41:21" + } + ] + }, + "name": "abi_decode_t_address_payable_fromMemory", + "nativeSrc": "42446:159:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "42495:6:21", + "nodeType": "YulTypedName", + "src": "42495:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "42503:3:21", + "nodeType": "YulTypedName", + "src": "42503:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "42511:5:21", + "nodeType": "YulTypedName", + "src": "42511:5:21", + "type": "" + } + ], + "src": "42446:159:21" + }, + { + "body": { + "nativeSrc": "42696:282:21", + "nodeType": "YulBlock", + "src": "42696:282:21", + "statements": [ + { + "body": { + "nativeSrc": "42742:83:21", + "nodeType": "YulBlock", + "src": "42742:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "42744:77:21", + "nodeType": "YulIdentifier", + "src": "42744:77:21" + }, + "nativeSrc": "42744:79:21", + "nodeType": "YulFunctionCall", + "src": "42744:79:21" + }, + "nativeSrc": "42744:79:21", + "nodeType": "YulExpressionStatement", + "src": "42744:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "42717:7:21", + "nodeType": "YulIdentifier", + "src": "42717:7:21" + }, + { + "name": "headStart", + "nativeSrc": "42726:9:21", + "nodeType": "YulIdentifier", + "src": "42726:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "42713:3:21", + "nodeType": "YulIdentifier", + "src": "42713:3:21" + }, + "nativeSrc": "42713:23:21", + "nodeType": "YulFunctionCall", + "src": "42713:23:21" + }, + { + "kind": "number", + "nativeSrc": "42738:2:21", + "nodeType": "YulLiteral", + "src": "42738:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "42709:3:21", + "nodeType": "YulIdentifier", + "src": "42709:3:21" + }, + "nativeSrc": "42709:32:21", + "nodeType": "YulFunctionCall", + "src": "42709:32:21" + }, + "nativeSrc": "42706:119:21", + "nodeType": "YulIf", + "src": "42706:119:21" + }, + { + "nativeSrc": "42835:136:21", + "nodeType": "YulBlock", + "src": "42835:136:21", + "statements": [ + { + "nativeSrc": "42850:15:21", + "nodeType": "YulVariableDeclaration", + "src": "42850:15:21", + "value": { + "kind": "number", + "nativeSrc": "42864:1:21", + "nodeType": "YulLiteral", + "src": "42864:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "42854:6:21", + "nodeType": "YulTypedName", + "src": "42854:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "42879:82:21", + "nodeType": "YulAssignment", + "src": "42879:82:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "42933:9:21", + "nodeType": "YulIdentifier", + "src": "42933:9:21" + }, + { + "name": "offset", + "nativeSrc": "42944:6:21", + "nodeType": "YulIdentifier", + "src": "42944:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "42929:3:21", + "nodeType": "YulIdentifier", + "src": "42929:3:21" + }, + "nativeSrc": "42929:22:21", + "nodeType": "YulFunctionCall", + "src": "42929:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "42953:7:21", + "nodeType": "YulIdentifier", + "src": "42953:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_payable_fromMemory", + "nativeSrc": "42889:39:21", + "nodeType": "YulIdentifier", + "src": "42889:39:21" + }, + "nativeSrc": "42889:72:21", + "nodeType": "YulFunctionCall", + "src": "42889:72:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "42879:6:21", + "nodeType": "YulIdentifier", + "src": "42879:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable_fromMemory", + "nativeSrc": "42611:367:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "42666:9:21", + "nodeType": "YulTypedName", + "src": "42666:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "42677:7:21", + "nodeType": "YulTypedName", + "src": "42677:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "42689:6:21", + "nodeType": "YulTypedName", + "src": "42689:6:21", + "type": "" + } + ], + "src": "42611:367:21" + }, + { + "body": { + "nativeSrc": "43082:124:21", + "nodeType": "YulBlock", + "src": "43082:124:21", + "statements": [ + { + "nativeSrc": "43092:26:21", + "nodeType": "YulAssignment", + "src": "43092:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "43104:9:21", + "nodeType": "YulIdentifier", + "src": "43104:9:21" + }, + { + "kind": "number", + "nativeSrc": "43115:2:21", + "nodeType": "YulLiteral", + "src": "43115:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43100:3:21", + "nodeType": "YulIdentifier", + "src": "43100:3:21" + }, + "nativeSrc": "43100:18:21", + "nodeType": "YulFunctionCall", + "src": "43100:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "43092:4:21", + "nodeType": "YulIdentifier", + "src": "43092:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "43172:6:21", + "nodeType": "YulIdentifier", + "src": "43172:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "43185:9:21", + "nodeType": "YulIdentifier", + "src": "43185:9:21" + }, + { + "kind": "number", + "nativeSrc": "43196:1:21", + "nodeType": "YulLiteral", + "src": "43196:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43181:3:21", + "nodeType": "YulIdentifier", + "src": "43181:3:21" + }, + "nativeSrc": "43181:17:21", + "nodeType": "YulFunctionCall", + "src": "43181:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "43128:43:21", + "nodeType": "YulIdentifier", + "src": "43128:43:21" + }, + "nativeSrc": "43128:71:21", + "nodeType": "YulFunctionCall", + "src": "43128:71:21" + }, + "nativeSrc": "43128:71:21", + "nodeType": "YulExpressionStatement", + "src": "43128:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "42984:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "43054:9:21", + "nodeType": "YulTypedName", + "src": "43054:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "43066:6:21", + "nodeType": "YulTypedName", + "src": "43066:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "43077:4:21", + "nodeType": "YulTypedName", + "src": "43077:4:21", + "type": "" + } + ], + "src": "42984:222:21" + }, + { + "body": { + "nativeSrc": "43240:152:21", + "nodeType": "YulBlock", + "src": "43240:152:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43257:1:21", + "nodeType": "YulLiteral", + "src": "43257:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "43260:77:21", + "nodeType": "YulLiteral", + "src": "43260:77:21", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43250:6:21", + "nodeType": "YulIdentifier", + "src": "43250:6:21" + }, + "nativeSrc": "43250:88:21", + "nodeType": "YulFunctionCall", + "src": "43250:88:21" + }, + "nativeSrc": "43250:88:21", + "nodeType": "YulExpressionStatement", + "src": "43250:88:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43354:1:21", + "nodeType": "YulLiteral", + "src": "43354:1:21", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "43357:4:21", + "nodeType": "YulLiteral", + "src": "43357:4:21", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43347:6:21", + "nodeType": "YulIdentifier", + "src": "43347:6:21" + }, + "nativeSrc": "43347:15:21", + "nodeType": "YulFunctionCall", + "src": "43347:15:21" + }, + "nativeSrc": "43347:15:21", + "nodeType": "YulExpressionStatement", + "src": "43347:15:21" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "43378:1:21", + "nodeType": "YulLiteral", + "src": "43378:1:21", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "43381:4:21", + "nodeType": "YulLiteral", + "src": "43381:4:21", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "43371:6:21", + "nodeType": "YulIdentifier", + "src": "43371:6:21" + }, + "nativeSrc": "43371:15:21", + "nodeType": "YulFunctionCall", + "src": "43371:15:21" + }, + "nativeSrc": "43371:15:21", + "nodeType": "YulExpressionStatement", + "src": "43371:15:21" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "43212:180:21", + "nodeType": "YulFunctionDefinition", + "src": "43212:180:21" + }, + { + "body": { + "nativeSrc": "43442:147:21", + "nodeType": "YulBlock", + "src": "43442:147:21", + "statements": [ + { + "nativeSrc": "43452:25:21", + "nodeType": "YulAssignment", + "src": "43452:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43475:1:21", + "nodeType": "YulIdentifier", + "src": "43475:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "43457:17:21", + "nodeType": "YulIdentifier", + "src": "43457:17:21" + }, + "nativeSrc": "43457:20:21", + "nodeType": "YulFunctionCall", + "src": "43457:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "43452:1:21", + "nodeType": "YulIdentifier", + "src": "43452:1:21" + } + ] + }, + { + "nativeSrc": "43486:25:21", + "nodeType": "YulAssignment", + "src": "43486:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "43509:1:21", + "nodeType": "YulIdentifier", + "src": "43509:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "43491:17:21", + "nodeType": "YulIdentifier", + "src": "43491:17:21" + }, + "nativeSrc": "43491:20:21", + "nodeType": "YulFunctionCall", + "src": "43491:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "43486:1:21", + "nodeType": "YulIdentifier", + "src": "43486:1:21" + } + ] + }, + { + "nativeSrc": "43520:16:21", + "nodeType": "YulAssignment", + "src": "43520:16:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43531:1:21", + "nodeType": "YulIdentifier", + "src": "43531:1:21" + }, + { + "name": "y", + "nativeSrc": "43534:1:21", + "nodeType": "YulIdentifier", + "src": "43534:1:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "43527:3:21", + "nodeType": "YulIdentifier", + "src": "43527:3:21" + }, + "nativeSrc": "43527:9:21", + "nodeType": "YulFunctionCall", + "src": "43527:9:21" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "43520:3:21", + "nodeType": "YulIdentifier", + "src": "43520:3:21" + } + ] + }, + { + "body": { + "nativeSrc": "43560:22:21", + "nodeType": "YulBlock", + "src": "43560:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "43562:16:21", + "nodeType": "YulIdentifier", + "src": "43562:16:21" + }, + "nativeSrc": "43562:18:21", + "nodeType": "YulFunctionCall", + "src": "43562:18:21" + }, + "nativeSrc": "43562:18:21", + "nodeType": "YulExpressionStatement", + "src": "43562:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "43552:1:21", + "nodeType": "YulIdentifier", + "src": "43552:1:21" + }, + { + "name": "sum", + "nativeSrc": "43555:3:21", + "nodeType": "YulIdentifier", + "src": "43555:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "43549:2:21", + "nodeType": "YulIdentifier", + "src": "43549:2:21" + }, + "nativeSrc": "43549:10:21", + "nodeType": "YulFunctionCall", + "src": "43549:10:21" + }, + "nativeSrc": "43546:36:21", + "nodeType": "YulIf", + "src": "43546:36:21" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "43398:191:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "43429:1:21", + "nodeType": "YulTypedName", + "src": "43429:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "43432:1:21", + "nodeType": "YulTypedName", + "src": "43432:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "43438:3:21", + "nodeType": "YulTypedName", + "src": "43438:3:21", + "type": "" + } + ], + "src": "43398:191:21" + }, + { + "body": { + "nativeSrc": "43642:32:21", + "nodeType": "YulBlock", + "src": "43642:32:21", + "statements": [ + { + "nativeSrc": "43652:16:21", + "nodeType": "YulAssignment", + "src": "43652:16:21", + "value": { + "name": "value", + "nativeSrc": "43663:5:21", + "nodeType": "YulIdentifier", + "src": "43663:5:21" + }, + "variableNames": [ + { + "name": "aligned", + "nativeSrc": "43652:7:21", + "nodeType": "YulIdentifier", + "src": "43652:7:21" + } + ] + } + ] + }, + "name": "leftAlign_t_bytes32", + "nativeSrc": "43595:79:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "43624:5:21", + "nodeType": "YulTypedName", + "src": "43624:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "aligned", + "nativeSrc": "43634:7:21", + "nodeType": "YulTypedName", + "src": "43634:7:21", + "type": "" + } + ], + "src": "43595:79:21" + }, + { + "body": { + "nativeSrc": "43763:74:21", + "nodeType": "YulBlock", + "src": "43763:74:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "43780:3:21", + "nodeType": "YulIdentifier", + "src": "43780:3:21" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "43823:5:21", + "nodeType": "YulIdentifier", + "src": "43823:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nativeSrc": "43805:17:21", + "nodeType": "YulIdentifier", + "src": "43805:17:21" + }, + "nativeSrc": "43805:24:21", + "nodeType": "YulFunctionCall", + "src": "43805:24:21" + } + ], + "functionName": { + "name": "leftAlign_t_bytes32", + "nativeSrc": "43785:19:21", + "nodeType": "YulIdentifier", + "src": "43785:19:21" + }, + "nativeSrc": "43785:45:21", + "nodeType": "YulFunctionCall", + "src": "43785:45:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "43773:6:21", + "nodeType": "YulIdentifier", + "src": "43773:6:21" + }, + "nativeSrc": "43773:58:21", + "nodeType": "YulFunctionCall", + "src": "43773:58:21" + }, + "nativeSrc": "43773:58:21", + "nodeType": "YulExpressionStatement", + "src": "43773:58:21" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "43680:157:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "43751:5:21", + "nodeType": "YulTypedName", + "src": "43751:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "43758:3:21", + "nodeType": "YulTypedName", + "src": "43758:3:21", + "type": "" + } + ], + "src": "43680:157:21" + }, + { + "body": { + "nativeSrc": "43987:253:21", + "nodeType": "YulBlock", + "src": "43987:253:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "44060:6:21", + "nodeType": "YulIdentifier", + "src": "44060:6:21" + }, + { + "name": "pos", + "nativeSrc": "44069:3:21", + "nodeType": "YulIdentifier", + "src": "44069:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "43998:61:21", + "nodeType": "YulIdentifier", + "src": "43998:61:21" + }, + "nativeSrc": "43998:75:21", + "nodeType": "YulFunctionCall", + "src": "43998:75:21" + }, + "nativeSrc": "43998:75:21", + "nodeType": "YulExpressionStatement", + "src": "43998:75:21" + }, + { + "nativeSrc": "44082:19:21", + "nodeType": "YulAssignment", + "src": "44082:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44093:3:21", + "nodeType": "YulIdentifier", + "src": "44093:3:21" + }, + { + "kind": "number", + "nativeSrc": "44098:2:21", + "nodeType": "YulLiteral", + "src": "44098:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44089:3:21", + "nodeType": "YulIdentifier", + "src": "44089:3:21" + }, + "nativeSrc": "44089:12:21", + "nodeType": "YulFunctionCall", + "src": "44089:12:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44082:3:21", + "nodeType": "YulIdentifier", + "src": "44082:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "44173:6:21", + "nodeType": "YulIdentifier", + "src": "44173:6:21" + }, + { + "name": "pos", + "nativeSrc": "44182:3:21", + "nodeType": "YulIdentifier", + "src": "44182:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", + "nativeSrc": "44111:61:21", + "nodeType": "YulIdentifier", + "src": "44111:61:21" + }, + "nativeSrc": "44111:75:21", + "nodeType": "YulFunctionCall", + "src": "44111:75:21" + }, + "nativeSrc": "44111:75:21", + "nodeType": "YulExpressionStatement", + "src": "44111:75:21" + }, + { + "nativeSrc": "44195:19:21", + "nodeType": "YulAssignment", + "src": "44195:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44206:3:21", + "nodeType": "YulIdentifier", + "src": "44206:3:21" + }, + { + "kind": "number", + "nativeSrc": "44211:2:21", + "nodeType": "YulLiteral", + "src": "44211:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44202:3:21", + "nodeType": "YulIdentifier", + "src": "44202:3:21" + }, + "nativeSrc": "44202:12:21", + "nodeType": "YulFunctionCall", + "src": "44202:12:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44195:3:21", + "nodeType": "YulIdentifier", + "src": "44195:3:21" + } + ] + }, + { + "nativeSrc": "44224:10:21", + "nodeType": "YulAssignment", + "src": "44224:10:21", + "value": { + "name": "pos", + "nativeSrc": "44231:3:21", + "nodeType": "YulIdentifier", + "src": "44231:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "44224:3:21", + "nodeType": "YulIdentifier", + "src": "44224:3:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "43843:397:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "43958:3:21", + "nodeType": "YulTypedName", + "src": "43958:3:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "43964:6:21", + "nodeType": "YulTypedName", + "src": "43964:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "43972:6:21", + "nodeType": "YulTypedName", + "src": "43972:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "43983:3:21", + "nodeType": "YulTypedName", + "src": "43983:3:21", + "type": "" + } + ], + "src": "43843:397:21" + }, + { + "body": { + "nativeSrc": "44359:34:21", + "nodeType": "YulBlock", + "src": "44359:34:21", + "statements": [ + { + "nativeSrc": "44369:18:21", + "nodeType": "YulAssignment", + "src": "44369:18:21", + "value": { + "name": "pos", + "nativeSrc": "44384:3:21", + "nodeType": "YulIdentifier", + "src": "44384:3:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "44369:11:21", + "nodeType": "YulIdentifier", + "src": "44369:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44246:147:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "44331:3:21", + "nodeType": "YulTypedName", + "src": "44331:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "44336:6:21", + "nodeType": "YulTypedName", + "src": "44336:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "44347:11:21", + "nodeType": "YulTypedName", + "src": "44347:11:21", + "type": "" + } + ], + "src": "44246:147:21" + }, + { + "body": { + "nativeSrc": "44507:278:21", + "nodeType": "YulBlock", + "src": "44507:278:21", + "statements": [ + { + "nativeSrc": "44517:52:21", + "nodeType": "YulVariableDeclaration", + "src": "44517:52:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "44563:5:21", + "nodeType": "YulIdentifier", + "src": "44563:5:21" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nativeSrc": "44531:31:21", + "nodeType": "YulIdentifier", + "src": "44531:31:21" + }, + "nativeSrc": "44531:38:21", + "nodeType": "YulFunctionCall", + "src": "44531:38:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "44521:6:21", + "nodeType": "YulTypedName", + "src": "44521:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "44578:95:21", + "nodeType": "YulAssignment", + "src": "44578:95:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44661:3:21", + "nodeType": "YulIdentifier", + "src": "44661:3:21" + }, + { + "name": "length", + "nativeSrc": "44666:6:21", + "nodeType": "YulIdentifier", + "src": "44666:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44585:75:21", + "nodeType": "YulIdentifier", + "src": "44585:75:21" + }, + "nativeSrc": "44585:88:21", + "nodeType": "YulFunctionCall", + "src": "44585:88:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44578:3:21", + "nodeType": "YulIdentifier", + "src": "44578:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "44721:5:21", + "nodeType": "YulIdentifier", + "src": "44721:5:21" + }, + { + "kind": "number", + "nativeSrc": "44728:4:21", + "nodeType": "YulLiteral", + "src": "44728:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44717:3:21", + "nodeType": "YulIdentifier", + "src": "44717:3:21" + }, + "nativeSrc": "44717:16:21", + "nodeType": "YulFunctionCall", + "src": "44717:16:21" + }, + { + "name": "pos", + "nativeSrc": "44735:3:21", + "nodeType": "YulIdentifier", + "src": "44735:3:21" + }, + { + "name": "length", + "nativeSrc": "44740:6:21", + "nodeType": "YulIdentifier", + "src": "44740:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "44682:34:21", + "nodeType": "YulIdentifier", + "src": "44682:34:21" + }, + "nativeSrc": "44682:65:21", + "nodeType": "YulFunctionCall", + "src": "44682:65:21" + }, + "nativeSrc": "44682:65:21", + "nodeType": "YulExpressionStatement", + "src": "44682:65:21" + }, + { + "nativeSrc": "44756:23:21", + "nodeType": "YulAssignment", + "src": "44756:23:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "44767:3:21", + "nodeType": "YulIdentifier", + "src": "44767:3:21" + }, + { + "name": "length", + "nativeSrc": "44772:6:21", + "nodeType": "YulIdentifier", + "src": "44772:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "44763:3:21", + "nodeType": "YulIdentifier", + "src": "44763:3:21" + }, + "nativeSrc": "44763:16:21", + "nodeType": "YulFunctionCall", + "src": "44763:16:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "44756:3:21", + "nodeType": "YulIdentifier", + "src": "44756:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44399:386:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "44488:5:21", + "nodeType": "YulTypedName", + "src": "44488:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "44495:3:21", + "nodeType": "YulTypedName", + "src": "44495:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "44503:3:21", + "nodeType": "YulTypedName", + "src": "44503:3:21", + "type": "" + } + ], + "src": "44399:386:21" + }, + { + "body": { + "nativeSrc": "44925:137:21", + "nodeType": "YulBlock", + "src": "44925:137:21", + "statements": [ + { + "nativeSrc": "44936:100:21", + "nodeType": "YulAssignment", + "src": "44936:100:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "45023:6:21", + "nodeType": "YulIdentifier", + "src": "45023:6:21" + }, + { + "name": "pos", + "nativeSrc": "45032:3:21", + "nodeType": "YulIdentifier", + "src": "45032:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nativeSrc": "44943:79:21", + "nodeType": "YulIdentifier", + "src": "44943:79:21" + }, + "nativeSrc": "44943:93:21", + "nodeType": "YulFunctionCall", + "src": "44943:93:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "44936:3:21", + "nodeType": "YulIdentifier", + "src": "44936:3:21" + } + ] + }, + { + "nativeSrc": "45046:10:21", + "nodeType": "YulAssignment", + "src": "45046:10:21", + "value": { + "name": "pos", + "nativeSrc": "45053:3:21", + "nodeType": "YulIdentifier", + "src": "45053:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "45046:3:21", + "nodeType": "YulIdentifier", + "src": "45046:3:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "44791:271:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "44904:3:21", + "nodeType": "YulTypedName", + "src": "44904:3:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "44910:6:21", + "nodeType": "YulTypedName", + "src": "44910:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "44921:3:21", + "nodeType": "YulTypedName", + "src": "44921:3:21", + "type": "" + } + ], + "src": "44791:271:21" + }, + { + "body": { + "nativeSrc": "45166:124:21", + "nodeType": "YulBlock", + "src": "45166:124:21", + "statements": [ + { + "nativeSrc": "45176:26:21", + "nodeType": "YulAssignment", + "src": "45176:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45188:9:21", + "nodeType": "YulIdentifier", + "src": "45188:9:21" + }, + { + "kind": "number", + "nativeSrc": "45199:2:21", + "nodeType": "YulLiteral", + "src": "45199:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45184:3:21", + "nodeType": "YulIdentifier", + "src": "45184:3:21" + }, + "nativeSrc": "45184:18:21", + "nodeType": "YulFunctionCall", + "src": "45184:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "45176:4:21", + "nodeType": "YulIdentifier", + "src": "45176:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "45256:6:21", + "nodeType": "YulIdentifier", + "src": "45256:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45269:9:21", + "nodeType": "YulIdentifier", + "src": "45269:9:21" + }, + { + "kind": "number", + "nativeSrc": "45280:1:21", + "nodeType": "YulLiteral", + "src": "45280:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45265:3:21", + "nodeType": "YulIdentifier", + "src": "45265:3:21" + }, + "nativeSrc": "45265:17:21", + "nodeType": "YulFunctionCall", + "src": "45265:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nativeSrc": "45212:43:21", + "nodeType": "YulIdentifier", + "src": "45212:43:21" + }, + "nativeSrc": "45212:71:21", + "nodeType": "YulFunctionCall", + "src": "45212:71:21" + }, + "nativeSrc": "45212:71:21", + "nodeType": "YulExpressionStatement", + "src": "45212:71:21" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "45068:222:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45138:9:21", + "nodeType": "YulTypedName", + "src": "45138:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "45150:6:21", + "nodeType": "YulTypedName", + "src": "45150:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "45161:4:21", + "nodeType": "YulTypedName", + "src": "45161:4:21", + "type": "" + } + ], + "src": "45068:222:21" + }, + { + "body": { + "nativeSrc": "45359:80:21", + "nodeType": "YulBlock", + "src": "45359:80:21", + "statements": [ + { + "nativeSrc": "45369:22:21", + "nodeType": "YulAssignment", + "src": "45369:22:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "45384:6:21", + "nodeType": "YulIdentifier", + "src": "45384:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "45378:5:21", + "nodeType": "YulIdentifier", + "src": "45378:5:21" + }, + "nativeSrc": "45378:13:21", + "nodeType": "YulFunctionCall", + "src": "45378:13:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "45369:5:21", + "nodeType": "YulIdentifier", + "src": "45369:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "45427:5:21", + "nodeType": "YulIdentifier", + "src": "45427:5:21" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nativeSrc": "45400:26:21", + "nodeType": "YulIdentifier", + "src": "45400:26:21" + }, + "nativeSrc": "45400:33:21", + "nodeType": "YulFunctionCall", + "src": "45400:33:21" + }, + "nativeSrc": "45400:33:21", + "nodeType": "YulExpressionStatement", + "src": "45400:33:21" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "45296:143:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "45337:6:21", + "nodeType": "YulTypedName", + "src": "45337:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "45345:3:21", + "nodeType": "YulTypedName", + "src": "45345:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "45353:5:21", + "nodeType": "YulTypedName", + "src": "45353:5:21", + "type": "" + } + ], + "src": "45296:143:21" + }, + { + "body": { + "nativeSrc": "45522:274:21", + "nodeType": "YulBlock", + "src": "45522:274:21", + "statements": [ + { + "body": { + "nativeSrc": "45568:83:21", + "nodeType": "YulBlock", + "src": "45568:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "45570:77:21", + "nodeType": "YulIdentifier", + "src": "45570:77:21" + }, + "nativeSrc": "45570:79:21", + "nodeType": "YulFunctionCall", + "src": "45570:79:21" + }, + "nativeSrc": "45570:79:21", + "nodeType": "YulExpressionStatement", + "src": "45570:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "45543:7:21", + "nodeType": "YulIdentifier", + "src": "45543:7:21" + }, + { + "name": "headStart", + "nativeSrc": "45552:9:21", + "nodeType": "YulIdentifier", + "src": "45552:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "45539:3:21", + "nodeType": "YulIdentifier", + "src": "45539:3:21" + }, + "nativeSrc": "45539:23:21", + "nodeType": "YulFunctionCall", + "src": "45539:23:21" + }, + { + "kind": "number", + "nativeSrc": "45564:2:21", + "nodeType": "YulLiteral", + "src": "45564:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "45535:3:21", + "nodeType": "YulIdentifier", + "src": "45535:3:21" + }, + "nativeSrc": "45535:32:21", + "nodeType": "YulFunctionCall", + "src": "45535:32:21" + }, + "nativeSrc": "45532:119:21", + "nodeType": "YulIf", + "src": "45532:119:21" + }, + { + "nativeSrc": "45661:128:21", + "nodeType": "YulBlock", + "src": "45661:128:21", + "statements": [ + { + "nativeSrc": "45676:15:21", + "nodeType": "YulVariableDeclaration", + "src": "45676:15:21", + "value": { + "kind": "number", + "nativeSrc": "45690:1:21", + "nodeType": "YulLiteral", + "src": "45690:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "45680:6:21", + "nodeType": "YulTypedName", + "src": "45680:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "45705:74:21", + "nodeType": "YulAssignment", + "src": "45705:74:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45751:9:21", + "nodeType": "YulIdentifier", + "src": "45751:9:21" + }, + { + "name": "offset", + "nativeSrc": "45762:6:21", + "nodeType": "YulIdentifier", + "src": "45762:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45747:3:21", + "nodeType": "YulIdentifier", + "src": "45747:3:21" + }, + "nativeSrc": "45747:22:21", + "nodeType": "YulFunctionCall", + "src": "45747:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "45771:7:21", + "nodeType": "YulIdentifier", + "src": "45771:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nativeSrc": "45715:31:21", + "nodeType": "YulIdentifier", + "src": "45715:31:21" + }, + "nativeSrc": "45715:64:21", + "nodeType": "YulFunctionCall", + "src": "45715:64:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "45705:6:21", + "nodeType": "YulIdentifier", + "src": "45705:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "45445:351:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45492:9:21", + "nodeType": "YulTypedName", + "src": "45492:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "45503:7:21", + "nodeType": "YulTypedName", + "src": "45503:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "45515:6:21", + "nodeType": "YulTypedName", + "src": "45515:6:21", + "type": "" + } + ], + "src": "45445:351:21" + }, + { + "body": { + "nativeSrc": "45928:206:21", + "nodeType": "YulBlock", + "src": "45928:206:21", + "statements": [ + { + "nativeSrc": "45938:26:21", + "nodeType": "YulAssignment", + "src": "45938:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "45950:9:21", + "nodeType": "YulIdentifier", + "src": "45950:9:21" + }, + { + "kind": "number", + "nativeSrc": "45961:2:21", + "nodeType": "YulLiteral", + "src": "45961:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "45946:3:21", + "nodeType": "YulIdentifier", + "src": "45946:3:21" + }, + "nativeSrc": "45946:18:21", + "nodeType": "YulFunctionCall", + "src": "45946:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "45938:4:21", + "nodeType": "YulIdentifier", + "src": "45938:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "46018:6:21", + "nodeType": "YulIdentifier", + "src": "46018:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46031:9:21", + "nodeType": "YulIdentifier", + "src": "46031:9:21" + }, + { + "kind": "number", + "nativeSrc": "46042:1:21", + "nodeType": "YulLiteral", + "src": "46042:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46027:3:21", + "nodeType": "YulIdentifier", + "src": "46027:3:21" + }, + "nativeSrc": "46027:17:21", + "nodeType": "YulFunctionCall", + "src": "46027:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nativeSrc": "45974:43:21", + "nodeType": "YulIdentifier", + "src": "45974:43:21" + }, + "nativeSrc": "45974:71:21", + "nodeType": "YulFunctionCall", + "src": "45974:71:21" + }, + "nativeSrc": "45974:71:21", + "nodeType": "YulExpressionStatement", + "src": "45974:71:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "46099:6:21", + "nodeType": "YulIdentifier", + "src": "46099:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46112:9:21", + "nodeType": "YulIdentifier", + "src": "46112:9:21" + }, + { + "kind": "number", + "nativeSrc": "46123:2:21", + "nodeType": "YulLiteral", + "src": "46123:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46108:3:21", + "nodeType": "YulIdentifier", + "src": "46108:3:21" + }, + "nativeSrc": "46108:18:21", + "nodeType": "YulFunctionCall", + "src": "46108:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "46055:43:21", + "nodeType": "YulIdentifier", + "src": "46055:43:21" + }, + "nativeSrc": "46055:72:21", + "nodeType": "YulFunctionCall", + "src": "46055:72:21" + }, + "nativeSrc": "46055:72:21", + "nodeType": "YulExpressionStatement", + "src": "46055:72:21" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", + "nativeSrc": "45802:332:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "45892:9:21", + "nodeType": "YulTypedName", + "src": "45892:9:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "45904:6:21", + "nodeType": "YulTypedName", + "src": "45904:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "45912:6:21", + "nodeType": "YulTypedName", + "src": "45912:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "45923:4:21", + "nodeType": "YulTypedName", + "src": "45923:4:21", + "type": "" + } + ], + "src": "45802:332:21" + }, + { + "body": { + "nativeSrc": "46246:119:21", + "nodeType": "YulBlock", + "src": "46246:119:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "46268:6:21", + "nodeType": "YulIdentifier", + "src": "46268:6:21" + }, + { + "kind": "number", + "nativeSrc": "46276:1:21", + "nodeType": "YulLiteral", + "src": "46276:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46264:3:21", + "nodeType": "YulIdentifier", + "src": "46264:3:21" + }, + "nativeSrc": "46264:14:21", + "nodeType": "YulFunctionCall", + "src": "46264:14:21" + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f", + "kind": "string", + "nativeSrc": "46280:34:21", + "nodeType": "YulLiteral", + "src": "46280:34:21", + "type": "", + "value": "Address: insufficient balance fo" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46257:6:21", + "nodeType": "YulIdentifier", + "src": "46257:6:21" + }, + "nativeSrc": "46257:58:21", + "nodeType": "YulFunctionCall", + "src": "46257:58:21" + }, + "nativeSrc": "46257:58:21", + "nodeType": "YulExpressionStatement", + "src": "46257:58:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "46336:6:21", + "nodeType": "YulIdentifier", + "src": "46336:6:21" + }, + { + "kind": "number", + "nativeSrc": "46344:2:21", + "nodeType": "YulLiteral", + "src": "46344:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46332:3:21", + "nodeType": "YulIdentifier", + "src": "46332:3:21" + }, + "nativeSrc": "46332:15:21", + "nodeType": "YulFunctionCall", + "src": "46332:15:21" + }, + { + "hexValue": "722063616c6c", + "kind": "string", + "nativeSrc": "46349:8:21", + "nodeType": "YulLiteral", + "src": "46349:8:21", + "type": "", + "value": "r call" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46325:6:21", + "nodeType": "YulIdentifier", + "src": "46325:6:21" + }, + "nativeSrc": "46325:33:21", + "nodeType": "YulFunctionCall", + "src": "46325:33:21" + }, + "nativeSrc": "46325:33:21", + "nodeType": "YulExpressionStatement", + "src": "46325:33:21" + } + ] + }, + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nativeSrc": "46140:225:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "46238:6:21", + "nodeType": "YulTypedName", + "src": "46238:6:21", + "type": "" + } + ], + "src": "46140:225:21" + }, + { + "body": { + "nativeSrc": "46517:220:21", + "nodeType": "YulBlock", + "src": "46517:220:21", + "statements": [ + { + "nativeSrc": "46527:74:21", + "nodeType": "YulAssignment", + "src": "46527:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46593:3:21", + "nodeType": "YulIdentifier", + "src": "46593:3:21" + }, + { + "kind": "number", + "nativeSrc": "46598:2:21", + "nodeType": "YulLiteral", + "src": "46598:2:21", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "46534:58:21", + "nodeType": "YulIdentifier", + "src": "46534:58:21" + }, + "nativeSrc": "46534:67:21", + "nodeType": "YulFunctionCall", + "src": "46534:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "46527:3:21", + "nodeType": "YulIdentifier", + "src": "46527:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46699:3:21", + "nodeType": "YulIdentifier", + "src": "46699:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "nativeSrc": "46610:88:21", + "nodeType": "YulIdentifier", + "src": "46610:88:21" + }, + "nativeSrc": "46610:93:21", + "nodeType": "YulFunctionCall", + "src": "46610:93:21" + }, + "nativeSrc": "46610:93:21", + "nodeType": "YulExpressionStatement", + "src": "46610:93:21" + }, + { + "nativeSrc": "46712:19:21", + "nodeType": "YulAssignment", + "src": "46712:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "46723:3:21", + "nodeType": "YulIdentifier", + "src": "46723:3:21" + }, + { + "kind": "number", + "nativeSrc": "46728:2:21", + "nodeType": "YulLiteral", + "src": "46728:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46719:3:21", + "nodeType": "YulIdentifier", + "src": "46719:3:21" + }, + "nativeSrc": "46719:12:21", + "nodeType": "YulFunctionCall", + "src": "46719:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "46712:3:21", + "nodeType": "YulIdentifier", + "src": "46712:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nativeSrc": "46371:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "46505:3:21", + "nodeType": "YulTypedName", + "src": "46505:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "46513:3:21", + "nodeType": "YulTypedName", + "src": "46513:3:21", + "type": "" + } + ], + "src": "46371:366:21" + }, + { + "body": { + "nativeSrc": "46914:248:21", + "nodeType": "YulBlock", + "src": "46914:248:21", + "statements": [ + { + "nativeSrc": "46924:26:21", + "nodeType": "YulAssignment", + "src": "46924:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46936:9:21", + "nodeType": "YulIdentifier", + "src": "46936:9:21" + }, + { + "kind": "number", + "nativeSrc": "46947:2:21", + "nodeType": "YulLiteral", + "src": "46947:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46932:3:21", + "nodeType": "YulIdentifier", + "src": "46932:3:21" + }, + "nativeSrc": "46932:18:21", + "nodeType": "YulFunctionCall", + "src": "46932:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "46924:4:21", + "nodeType": "YulIdentifier", + "src": "46924:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "46971:9:21", + "nodeType": "YulIdentifier", + "src": "46971:9:21" + }, + { + "kind": "number", + "nativeSrc": "46982:1:21", + "nodeType": "YulLiteral", + "src": "46982:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "46967:3:21", + "nodeType": "YulIdentifier", + "src": "46967:3:21" + }, + "nativeSrc": "46967:17:21", + "nodeType": "YulFunctionCall", + "src": "46967:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "46990:4:21", + "nodeType": "YulIdentifier", + "src": "46990:4:21" + }, + { + "name": "headStart", + "nativeSrc": "46996:9:21", + "nodeType": "YulIdentifier", + "src": "46996:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "46986:3:21", + "nodeType": "YulIdentifier", + "src": "46986:3:21" + }, + "nativeSrc": "46986:20:21", + "nodeType": "YulFunctionCall", + "src": "46986:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "46960:6:21", + "nodeType": "YulIdentifier", + "src": "46960:6:21" + }, + "nativeSrc": "46960:47:21", + "nodeType": "YulFunctionCall", + "src": "46960:47:21" + }, + "nativeSrc": "46960:47:21", + "nodeType": "YulExpressionStatement", + "src": "46960:47:21" + }, + { + "nativeSrc": "47016:139:21", + "nodeType": "YulAssignment", + "src": "47016:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "47150:4:21", + "nodeType": "YulIdentifier", + "src": "47150:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", + "nativeSrc": "47024:124:21", + "nodeType": "YulIdentifier", + "src": "47024:124:21" + }, + "nativeSrc": "47024:131:21", + "nodeType": "YulFunctionCall", + "src": "47024:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "47016:4:21", + "nodeType": "YulIdentifier", + "src": "47016:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "46743:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "46894:9:21", + "nodeType": "YulTypedName", + "src": "46894:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "46909:4:21", + "nodeType": "YulTypedName", + "src": "46909:4:21", + "type": "" + } + ], + "src": "46743:419:21" + }, + { + "body": { + "nativeSrc": "47260:229:21", + "nodeType": "YulBlock", + "src": "47260:229:21", + "statements": [ + { + "body": { + "nativeSrc": "47365:22:21", + "nodeType": "YulBlock", + "src": "47365:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "47367:16:21", + "nodeType": "YulIdentifier", + "src": "47367:16:21" + }, + "nativeSrc": "47367:18:21", + "nodeType": "YulFunctionCall", + "src": "47367:18:21" + }, + "nativeSrc": "47367:18:21", + "nodeType": "YulExpressionStatement", + "src": "47367:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47337:6:21", + "nodeType": "YulIdentifier", + "src": "47337:6:21" + }, + { + "kind": "number", + "nativeSrc": "47345:18:21", + "nodeType": "YulLiteral", + "src": "47345:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "47334:2:21", + "nodeType": "YulIdentifier", + "src": "47334:2:21" + }, + "nativeSrc": "47334:30:21", + "nodeType": "YulFunctionCall", + "src": "47334:30:21" + }, + "nativeSrc": "47331:56:21", + "nodeType": "YulIf", + "src": "47331:56:21" + }, + { + "nativeSrc": "47397:25:21", + "nodeType": "YulAssignment", + "src": "47397:25:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47409:6:21", + "nodeType": "YulIdentifier", + "src": "47409:6:21" + }, + { + "kind": "number", + "nativeSrc": "47417:4:21", + "nodeType": "YulLiteral", + "src": "47417:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "47405:3:21", + "nodeType": "YulIdentifier", + "src": "47405:3:21" + }, + "nativeSrc": "47405:17:21", + "nodeType": "YulFunctionCall", + "src": "47405:17:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47397:4:21", + "nodeType": "YulIdentifier", + "src": "47397:4:21" + } + ] + }, + { + "nativeSrc": "47459:23:21", + "nodeType": "YulAssignment", + "src": "47459:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "47471:4:21", + "nodeType": "YulIdentifier", + "src": "47471:4:21" + }, + { + "kind": "number", + "nativeSrc": "47477:4:21", + "nodeType": "YulLiteral", + "src": "47477:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "47467:3:21", + "nodeType": "YulIdentifier", + "src": "47467:3:21" + }, + "nativeSrc": "47467:15:21", + "nodeType": "YulFunctionCall", + "src": "47467:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47459:4:21", + "nodeType": "YulIdentifier", + "src": "47459:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "47168:321:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "47244:6:21", + "nodeType": "YulTypedName", + "src": "47244:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "47255:4:21", + "nodeType": "YulTypedName", + "src": "47255:4:21", + "type": "" + } + ], + "src": "47168:321:21" + }, + { + "body": { + "nativeSrc": "47562:241:21", + "nodeType": "YulBlock", + "src": "47562:241:21", + "statements": [ + { + "body": { + "nativeSrc": "47667:22:21", + "nodeType": "YulBlock", + "src": "47667:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "47669:16:21", + "nodeType": "YulIdentifier", + "src": "47669:16:21" + }, + "nativeSrc": "47669:18:21", + "nodeType": "YulFunctionCall", + "src": "47669:18:21" + }, + "nativeSrc": "47669:18:21", + "nodeType": "YulExpressionStatement", + "src": "47669:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47639:6:21", + "nodeType": "YulIdentifier", + "src": "47639:6:21" + }, + { + "kind": "number", + "nativeSrc": "47647:18:21", + "nodeType": "YulLiteral", + "src": "47647:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "47636:2:21", + "nodeType": "YulIdentifier", + "src": "47636:2:21" + }, + "nativeSrc": "47636:30:21", + "nodeType": "YulFunctionCall", + "src": "47636:30:21" + }, + "nativeSrc": "47633:56:21", + "nodeType": "YulIf", + "src": "47633:56:21" + }, + { + "nativeSrc": "47699:37:21", + "nodeType": "YulAssignment", + "src": "47699:37:21", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "47729:6:21", + "nodeType": "YulIdentifier", + "src": "47729:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "47707:21:21", + "nodeType": "YulIdentifier", + "src": "47707:21:21" + }, + "nativeSrc": "47707:29:21", + "nodeType": "YulFunctionCall", + "src": "47707:29:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47699:4:21", + "nodeType": "YulIdentifier", + "src": "47699:4:21" + } + ] + }, + { + "nativeSrc": "47773:23:21", + "nodeType": "YulAssignment", + "src": "47773:23:21", + "value": { + "arguments": [ + { + "name": "size", + "nativeSrc": "47785:4:21", + "nodeType": "YulIdentifier", + "src": "47785:4:21" + }, + { + "kind": "number", + "nativeSrc": "47791:4:21", + "nodeType": "YulLiteral", + "src": "47791:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "47781:3:21", + "nodeType": "YulIdentifier", + "src": "47781:3:21" + }, + "nativeSrc": "47781:15:21", + "nodeType": "YulFunctionCall", + "src": "47781:15:21" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "47773:4:21", + "nodeType": "YulIdentifier", + "src": "47773:4:21" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "47495:308:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "47546:6:21", + "nodeType": "YulTypedName", + "src": "47546:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "47557:4:21", + "nodeType": "YulTypedName", + "src": "47557:4:21", + "type": "" + } + ], + "src": "47495:308:21" + }, + { + "body": { + "nativeSrc": "47904:339:21", + "nodeType": "YulBlock", + "src": "47904:339:21", + "statements": [ + { + "nativeSrc": "47914:75:21", + "nodeType": "YulAssignment", + "src": "47914:75:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "47981:6:21", + "nodeType": "YulIdentifier", + "src": "47981:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nativeSrc": "47939:41:21", + "nodeType": "YulIdentifier", + "src": "47939:41:21" + }, + "nativeSrc": "47939:49:21", + "nodeType": "YulFunctionCall", + "src": "47939:49:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "47923:15:21", + "nodeType": "YulIdentifier", + "src": "47923:15:21" + }, + "nativeSrc": "47923:66:21", + "nodeType": "YulFunctionCall", + "src": "47923:66:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "47914:5:21", + "nodeType": "YulIdentifier", + "src": "47914:5:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48005:5:21", + "nodeType": "YulIdentifier", + "src": "48005:5:21" + }, + { + "name": "length", + "nativeSrc": "48012:6:21", + "nodeType": "YulIdentifier", + "src": "48012:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "47998:6:21", + "nodeType": "YulIdentifier", + "src": "47998:6:21" + }, + "nativeSrc": "47998:21:21", + "nodeType": "YulFunctionCall", + "src": "47998:21:21" + }, + "nativeSrc": "47998:21:21", + "nodeType": "YulExpressionStatement", + "src": "47998:21:21" + }, + { + "nativeSrc": "48028:27:21", + "nodeType": "YulVariableDeclaration", + "src": "48028:27:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48043:5:21", + "nodeType": "YulIdentifier", + "src": "48043:5:21" + }, + { + "kind": "number", + "nativeSrc": "48050:4:21", + "nodeType": "YulLiteral", + "src": "48050:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48039:3:21", + "nodeType": "YulIdentifier", + "src": "48039:3:21" + }, + "nativeSrc": "48039:16:21", + "nodeType": "YulFunctionCall", + "src": "48039:16:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "48032:3:21", + "nodeType": "YulTypedName", + "src": "48032:3:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "48093:83:21", + "nodeType": "YulBlock", + "src": "48093:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nativeSrc": "48095:77:21", + "nodeType": "YulIdentifier", + "src": "48095:77:21" + }, + "nativeSrc": "48095:79:21", + "nodeType": "YulFunctionCall", + "src": "48095:79:21" + }, + "nativeSrc": "48095:79:21", + "nodeType": "YulExpressionStatement", + "src": "48095:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "48074:3:21", + "nodeType": "YulIdentifier", + "src": "48074:3:21" + }, + { + "name": "length", + "nativeSrc": "48079:6:21", + "nodeType": "YulIdentifier", + "src": "48079:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48070:3:21", + "nodeType": "YulIdentifier", + "src": "48070:3:21" + }, + "nativeSrc": "48070:16:21", + "nodeType": "YulFunctionCall", + "src": "48070:16:21" + }, + { + "name": "end", + "nativeSrc": "48088:3:21", + "nodeType": "YulIdentifier", + "src": "48088:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "48067:2:21", + "nodeType": "YulIdentifier", + "src": "48067:2:21" + }, + "nativeSrc": "48067:25:21", + "nodeType": "YulFunctionCall", + "src": "48067:25:21" + }, + "nativeSrc": "48064:112:21", + "nodeType": "YulIf", + "src": "48064:112:21" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nativeSrc": "48220:3:21", + "nodeType": "YulIdentifier", + "src": "48220:3:21" + }, + { + "name": "dst", + "nativeSrc": "48225:3:21", + "nodeType": "YulIdentifier", + "src": "48225:3:21" + }, + { + "name": "length", + "nativeSrc": "48230:6:21", + "nodeType": "YulIdentifier", + "src": "48230:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "48185:34:21", + "nodeType": "YulIdentifier", + "src": "48185:34:21" + }, + "nativeSrc": "48185:52:21", + "nodeType": "YulFunctionCall", + "src": "48185:52:21" + }, + "nativeSrc": "48185:52:21", + "nodeType": "YulExpressionStatement", + "src": "48185:52:21" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "47809:434:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "47877:3:21", + "nodeType": "YulTypedName", + "src": "47877:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "47882:6:21", + "nodeType": "YulTypedName", + "src": "47882:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "47890:3:21", + "nodeType": "YulTypedName", + "src": "47890:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "47898:5:21", + "nodeType": "YulTypedName", + "src": "47898:5:21", + "type": "" + } + ], + "src": "47809:434:21" + }, + { + "body": { + "nativeSrc": "48336:282:21", + "nodeType": "YulBlock", + "src": "48336:282:21", + "statements": [ + { + "body": { + "nativeSrc": "48385:83:21", + "nodeType": "YulBlock", + "src": "48385:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "48387:77:21", + "nodeType": "YulIdentifier", + "src": "48387:77:21" + }, + "nativeSrc": "48387:79:21", + "nodeType": "YulFunctionCall", + "src": "48387:79:21" + }, + "nativeSrc": "48387:79:21", + "nodeType": "YulExpressionStatement", + "src": "48387:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48364:6:21", + "nodeType": "YulIdentifier", + "src": "48364:6:21" + }, + { + "kind": "number", + "nativeSrc": "48372:4:21", + "nodeType": "YulLiteral", + "src": "48372:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48360:3:21", + "nodeType": "YulIdentifier", + "src": "48360:3:21" + }, + "nativeSrc": "48360:17:21", + "nodeType": "YulFunctionCall", + "src": "48360:17:21" + }, + { + "name": "end", + "nativeSrc": "48379:3:21", + "nodeType": "YulIdentifier", + "src": "48379:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "48356:3:21", + "nodeType": "YulIdentifier", + "src": "48356:3:21" + }, + "nativeSrc": "48356:27:21", + "nodeType": "YulFunctionCall", + "src": "48356:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "48349:6:21", + "nodeType": "YulIdentifier", + "src": "48349:6:21" + }, + "nativeSrc": "48349:35:21", + "nodeType": "YulFunctionCall", + "src": "48349:35:21" + }, + "nativeSrc": "48346:122:21", + "nodeType": "YulIf", + "src": "48346:122:21" + }, + { + "nativeSrc": "48477:27:21", + "nodeType": "YulVariableDeclaration", + "src": "48477:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48497:6:21", + "nodeType": "YulIdentifier", + "src": "48497:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "48491:5:21", + "nodeType": "YulIdentifier", + "src": "48491:5:21" + }, + "nativeSrc": "48491:13:21", + "nodeType": "YulFunctionCall", + "src": "48491:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "48481:6:21", + "nodeType": "YulTypedName", + "src": "48481:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "48513:99:21", + "nodeType": "YulAssignment", + "src": "48513:99:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48585:6:21", + "nodeType": "YulIdentifier", + "src": "48585:6:21" + }, + { + "kind": "number", + "nativeSrc": "48593:4:21", + "nodeType": "YulLiteral", + "src": "48593:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48581:3:21", + "nodeType": "YulIdentifier", + "src": "48581:3:21" + }, + "nativeSrc": "48581:17:21", + "nodeType": "YulFunctionCall", + "src": "48581:17:21" + }, + { + "name": "length", + "nativeSrc": "48600:6:21", + "nodeType": "YulIdentifier", + "src": "48600:6:21" + }, + { + "name": "end", + "nativeSrc": "48608:3:21", + "nodeType": "YulIdentifier", + "src": "48608:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nativeSrc": "48522:58:21", + "nodeType": "YulIdentifier", + "src": "48522:58:21" + }, + "nativeSrc": "48522:90:21", + "nodeType": "YulFunctionCall", + "src": "48522:90:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "48513:5:21", + "nodeType": "YulIdentifier", + "src": "48513:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "48263:355:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "48314:6:21", + "nodeType": "YulTypedName", + "src": "48314:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "48322:3:21", + "nodeType": "YulTypedName", + "src": "48322:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "48330:5:21", + "nodeType": "YulTypedName", + "src": "48330:5:21", + "type": "" + } + ], + "src": "48263:355:21" + }, + { + "body": { + "nativeSrc": "48763:837:21", + "nodeType": "YulBlock", + "src": "48763:837:21", + "statements": [ + { + "nativeSrc": "48773:100:21", + "nodeType": "YulAssignment", + "src": "48773:100:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "48865:6:21", + "nodeType": "YulIdentifier", + "src": "48865:6:21" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "48798:66:21", + "nodeType": "YulIdentifier", + "src": "48798:66:21" + }, + "nativeSrc": "48798:74:21", + "nodeType": "YulFunctionCall", + "src": "48798:74:21" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "48782:15:21", + "nodeType": "YulIdentifier", + "src": "48782:15:21" + }, + "nativeSrc": "48782:91:21", + "nodeType": "YulFunctionCall", + "src": "48782:91:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "48773:5:21", + "nodeType": "YulIdentifier", + "src": "48773:5:21" + } + ] + }, + { + "nativeSrc": "48882:16:21", + "nodeType": "YulVariableDeclaration", + "src": "48882:16:21", + "value": { + "name": "array", + "nativeSrc": "48893:5:21", + "nodeType": "YulIdentifier", + "src": "48893:5:21" + }, + "variables": [ + { + "name": "dst", + "nativeSrc": "48886:3:21", + "nodeType": "YulTypedName", + "src": "48886:3:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48915:5:21", + "nodeType": "YulIdentifier", + "src": "48915:5:21" + }, + { + "name": "length", + "nativeSrc": "48922:6:21", + "nodeType": "YulIdentifier", + "src": "48922:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "48908:6:21", + "nodeType": "YulIdentifier", + "src": "48908:6:21" + }, + "nativeSrc": "48908:21:21", + "nodeType": "YulFunctionCall", + "src": "48908:21:21" + }, + "nativeSrc": "48908:21:21", + "nodeType": "YulExpressionStatement", + "src": "48908:21:21" + }, + { + "nativeSrc": "48938:23:21", + "nodeType": "YulAssignment", + "src": "48938:23:21", + "value": { + "arguments": [ + { + "name": "array", + "nativeSrc": "48949:5:21", + "nodeType": "YulIdentifier", + "src": "48949:5:21" + }, + { + "kind": "number", + "nativeSrc": "48956:4:21", + "nodeType": "YulLiteral", + "src": "48956:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48945:3:21", + "nodeType": "YulIdentifier", + "src": "48945:3:21" + }, + "nativeSrc": "48945:16:21", + "nodeType": "YulFunctionCall", + "src": "48945:16:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "48938:3:21", + "nodeType": "YulIdentifier", + "src": "48938:3:21" + } + ] + }, + { + "nativeSrc": "48971:44:21", + "nodeType": "YulVariableDeclaration", + "src": "48971:44:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "48989:6:21", + "nodeType": "YulIdentifier", + "src": "48989:6:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "49001:6:21", + "nodeType": "YulIdentifier", + "src": "49001:6:21" + }, + { + "kind": "number", + "nativeSrc": "49009:4:21", + "nodeType": "YulLiteral", + "src": "49009:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "48997:3:21", + "nodeType": "YulIdentifier", + "src": "48997:3:21" + }, + "nativeSrc": "48997:17:21", + "nodeType": "YulFunctionCall", + "src": "48997:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "48985:3:21", + "nodeType": "YulIdentifier", + "src": "48985:3:21" + }, + "nativeSrc": "48985:30:21", + "nodeType": "YulFunctionCall", + "src": "48985:30:21" + }, + "variables": [ + { + "name": "srcEnd", + "nativeSrc": "48975:6:21", + "nodeType": "YulTypedName", + "src": "48975:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "49043:103:21", + "nodeType": "YulBlock", + "src": "49043:103:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nativeSrc": "49057:77:21", + "nodeType": "YulIdentifier", + "src": "49057:77:21" + }, + "nativeSrc": "49057:79:21", + "nodeType": "YulFunctionCall", + "src": "49057:79:21" + }, + "nativeSrc": "49057:79:21", + "nodeType": "YulExpressionStatement", + "src": "49057:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nativeSrc": "49030:6:21", + "nodeType": "YulIdentifier", + "src": "49030:6:21" + }, + { + "name": "end", + "nativeSrc": "49038:3:21", + "nodeType": "YulIdentifier", + "src": "49038:3:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "49027:2:21", + "nodeType": "YulIdentifier", + "src": "49027:2:21" + }, + "nativeSrc": "49027:15:21", + "nodeType": "YulFunctionCall", + "src": "49027:15:21" + }, + "nativeSrc": "49024:122:21", + "nodeType": "YulIf", + "src": "49024:122:21" + }, + { + "body": { + "nativeSrc": "49231:363:21", + "nodeType": "YulBlock", + "src": "49231:363:21", + "statements": [ + { + "nativeSrc": "49246:29:21", + "nodeType": "YulVariableDeclaration", + "src": "49246:29:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49271:3:21", + "nodeType": "YulIdentifier", + "src": "49271:3:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "49265:5:21", + "nodeType": "YulIdentifier", + "src": "49265:5:21" + }, + "nativeSrc": "49265:10:21", + "nodeType": "YulFunctionCall", + "src": "49265:10:21" + }, + "variables": [ + { + "name": "innerOffset", + "nativeSrc": "49250:11:21", + "nodeType": "YulTypedName", + "src": "49250:11:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "49327:83:21", + "nodeType": "YulBlock", + "src": "49327:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "49329:77:21", + "nodeType": "YulIdentifier", + "src": "49329:77:21" + }, + "nativeSrc": "49329:79:21", + "nodeType": "YulFunctionCall", + "src": "49329:79:21" + }, + "nativeSrc": "49329:79:21", + "nodeType": "YulExpressionStatement", + "src": "49329:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nativeSrc": "49294:11:21", + "nodeType": "YulIdentifier", + "src": "49294:11:21" + }, + { + "kind": "number", + "nativeSrc": "49307:18:21", + "nodeType": "YulLiteral", + "src": "49307:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "49291:2:21", + "nodeType": "YulIdentifier", + "src": "49291:2:21" + }, + "nativeSrc": "49291:35:21", + "nodeType": "YulFunctionCall", + "src": "49291:35:21" + }, + "nativeSrc": "49288:122:21", + "nodeType": "YulIf", + "src": "49288:122:21" + }, + { + "nativeSrc": "49423:42:21", + "nodeType": "YulVariableDeclaration", + "src": "49423:42:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49445:6:21", + "nodeType": "YulIdentifier", + "src": "49445:6:21" + }, + { + "name": "innerOffset", + "nativeSrc": "49453:11:21", + "nodeType": "YulIdentifier", + "src": "49453:11:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49441:3:21", + "nodeType": "YulIdentifier", + "src": "49441:3:21" + }, + "nativeSrc": "49441:24:21", + "nodeType": "YulFunctionCall", + "src": "49441:24:21" + }, + "variables": [ + { + "name": "elementPos", + "nativeSrc": "49427:10:21", + "nodeType": "YulTypedName", + "src": "49427:10:21", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "49486:3:21", + "nodeType": "YulIdentifier", + "src": "49486:3:21" + }, + { + "arguments": [ + { + "name": "elementPos", + "nativeSrc": "49533:10:21", + "nodeType": "YulIdentifier", + "src": "49533:10:21" + }, + { + "name": "end", + "nativeSrc": "49545:3:21", + "nodeType": "YulIdentifier", + "src": "49545:3:21" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nativeSrc": "49491:41:21", + "nodeType": "YulIdentifier", + "src": "49491:41:21" + }, + "nativeSrc": "49491:58:21", + "nodeType": "YulFunctionCall", + "src": "49491:58:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "49479:6:21", + "nodeType": "YulIdentifier", + "src": "49479:6:21" + }, + "nativeSrc": "49479:71:21", + "nodeType": "YulFunctionCall", + "src": "49479:71:21" + }, + "nativeSrc": "49479:71:21", + "nodeType": "YulExpressionStatement", + "src": "49479:71:21" + }, + { + "nativeSrc": "49563:21:21", + "nodeType": "YulAssignment", + "src": "49563:21:21", + "value": { + "arguments": [ + { + "name": "dst", + "nativeSrc": "49574:3:21", + "nodeType": "YulIdentifier", + "src": "49574:3:21" + }, + { + "kind": "number", + "nativeSrc": "49579:4:21", + "nodeType": "YulLiteral", + "src": "49579:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49570:3:21", + "nodeType": "YulIdentifier", + "src": "49570:3:21" + }, + "nativeSrc": "49570:14:21", + "nodeType": "YulFunctionCall", + "src": "49570:14:21" + }, + "variableNames": [ + { + "name": "dst", + "nativeSrc": "49563:3:21", + "nodeType": "YulIdentifier", + "src": "49563:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49184:3:21", + "nodeType": "YulIdentifier", + "src": "49184:3:21" + }, + { + "name": "srcEnd", + "nativeSrc": "49189:6:21", + "nodeType": "YulIdentifier", + "src": "49189:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "49181:2:21", + "nodeType": "YulIdentifier", + "src": "49181:2:21" + }, + "nativeSrc": "49181:15:21", + "nodeType": "YulFunctionCall", + "src": "49181:15:21" + }, + "nativeSrc": "49155:439:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "49197:25:21", + "nodeType": "YulBlock", + "src": "49197:25:21", + "statements": [ + { + "nativeSrc": "49199:21:21", + "nodeType": "YulAssignment", + "src": "49199:21:21", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "49210:3:21", + "nodeType": "YulIdentifier", + "src": "49210:3:21" + }, + { + "kind": "number", + "nativeSrc": "49215:4:21", + "nodeType": "YulLiteral", + "src": "49215:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49206:3:21", + "nodeType": "YulIdentifier", + "src": "49206:3:21" + }, + "nativeSrc": "49206:14:21", + "nodeType": "YulFunctionCall", + "src": "49206:14:21" + }, + "variableNames": [ + { + "name": "src", + "nativeSrc": "49199:3:21", + "nodeType": "YulIdentifier", + "src": "49199:3:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "49159:21:21", + "nodeType": "YulBlock", + "src": "49159:21:21", + "statements": [ + { + "nativeSrc": "49161:17:21", + "nodeType": "YulVariableDeclaration", + "src": "49161:17:21", + "value": { + "name": "offset", + "nativeSrc": "49172:6:21", + "nodeType": "YulIdentifier", + "src": "49172:6:21" + }, + "variables": [ + { + "name": "src", + "nativeSrc": "49165:3:21", + "nodeType": "YulTypedName", + "src": "49165:3:21", + "type": "" + } + ] + } + ] + }, + "src": "49155:439:21" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "48640:960:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "48733:6:21", + "nodeType": "YulTypedName", + "src": "48733:6:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "48741:6:21", + "nodeType": "YulTypedName", + "src": "48741:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "48749:3:21", + "nodeType": "YulTypedName", + "src": "48749:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "48757:5:21", + "nodeType": "YulTypedName", + "src": "48757:5:21", + "type": "" + } + ], + "src": "48640:960:21" + }, + { + "body": { + "nativeSrc": "49720:307:21", + "nodeType": "YulBlock", + "src": "49720:307:21", + "statements": [ + { + "body": { + "nativeSrc": "49769:83:21", + "nodeType": "YulBlock", + "src": "49769:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nativeSrc": "49771:77:21", + "nodeType": "YulIdentifier", + "src": "49771:77:21" + }, + "nativeSrc": "49771:79:21", + "nodeType": "YulFunctionCall", + "src": "49771:79:21" + }, + "nativeSrc": "49771:79:21", + "nodeType": "YulExpressionStatement", + "src": "49771:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49748:6:21", + "nodeType": "YulIdentifier", + "src": "49748:6:21" + }, + { + "kind": "number", + "nativeSrc": "49756:4:21", + "nodeType": "YulLiteral", + "src": "49756:4:21", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49744:3:21", + "nodeType": "YulIdentifier", + "src": "49744:3:21" + }, + "nativeSrc": "49744:17:21", + "nodeType": "YulFunctionCall", + "src": "49744:17:21" + }, + { + "name": "end", + "nativeSrc": "49763:3:21", + "nodeType": "YulIdentifier", + "src": "49763:3:21" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "49740:3:21", + "nodeType": "YulIdentifier", + "src": "49740:3:21" + }, + "nativeSrc": "49740:27:21", + "nodeType": "YulFunctionCall", + "src": "49740:27:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "49733:6:21", + "nodeType": "YulIdentifier", + "src": "49733:6:21" + }, + "nativeSrc": "49733:35:21", + "nodeType": "YulFunctionCall", + "src": "49733:35:21" + }, + "nativeSrc": "49730:122:21", + "nodeType": "YulIf", + "src": "49730:122:21" + }, + { + "nativeSrc": "49861:27:21", + "nodeType": "YulVariableDeclaration", + "src": "49861:27:21", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49881:6:21", + "nodeType": "YulIdentifier", + "src": "49881:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "49875:5:21", + "nodeType": "YulIdentifier", + "src": "49875:5:21" + }, + "nativeSrc": "49875:13:21", + "nodeType": "YulFunctionCall", + "src": "49875:13:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "49865:6:21", + "nodeType": "YulTypedName", + "src": "49865:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "49897:124:21", + "nodeType": "YulAssignment", + "src": "49897:124:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "49994:6:21", + "nodeType": "YulIdentifier", + "src": "49994:6:21" + }, + { + "kind": "number", + "nativeSrc": "50002:4:21", + "nodeType": "YulLiteral", + "src": "50002:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "49990:3:21", + "nodeType": "YulIdentifier", + "src": "49990:3:21" + }, + "nativeSrc": "49990:17:21", + "nodeType": "YulFunctionCall", + "src": "49990:17:21" + }, + { + "name": "length", + "nativeSrc": "50009:6:21", + "nodeType": "YulIdentifier", + "src": "50009:6:21" + }, + { + "name": "end", + "nativeSrc": "50017:3:21", + "nodeType": "YulIdentifier", + "src": "50017:3:21" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "49906:83:21", + "nodeType": "YulIdentifier", + "src": "49906:83:21" + }, + "nativeSrc": "49906:115:21", + "nodeType": "YulFunctionCall", + "src": "49906:115:21" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "49897:5:21", + "nodeType": "YulIdentifier", + "src": "49897:5:21" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "49622:405:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "49698:6:21", + "nodeType": "YulTypedName", + "src": "49698:6:21", + "type": "" + }, + { + "name": "end", + "nativeSrc": "49706:3:21", + "nodeType": "YulTypedName", + "src": "49706:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "49714:5:21", + "nodeType": "YulTypedName", + "src": "49714:5:21", + "type": "" + } + ], + "src": "49622:405:21" + }, + { + "body": { + "nativeSrc": "50145:462:21", + "nodeType": "YulBlock", + "src": "50145:462:21", + "statements": [ + { + "body": { + "nativeSrc": "50191:83:21", + "nodeType": "YulBlock", + "src": "50191:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nativeSrc": "50193:77:21", + "nodeType": "YulIdentifier", + "src": "50193:77:21" + }, + "nativeSrc": "50193:79:21", + "nodeType": "YulFunctionCall", + "src": "50193:79:21" + }, + "nativeSrc": "50193:79:21", + "nodeType": "YulExpressionStatement", + "src": "50193:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "50166:7:21", + "nodeType": "YulIdentifier", + "src": "50166:7:21" + }, + { + "name": "headStart", + "nativeSrc": "50175:9:21", + "nodeType": "YulIdentifier", + "src": "50175:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "50162:3:21", + "nodeType": "YulIdentifier", + "src": "50162:3:21" + }, + "nativeSrc": "50162:23:21", + "nodeType": "YulFunctionCall", + "src": "50162:23:21" + }, + { + "kind": "number", + "nativeSrc": "50187:2:21", + "nodeType": "YulLiteral", + "src": "50187:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "50158:3:21", + "nodeType": "YulIdentifier", + "src": "50158:3:21" + }, + "nativeSrc": "50158:32:21", + "nodeType": "YulFunctionCall", + "src": "50158:32:21" + }, + "nativeSrc": "50155:119:21", + "nodeType": "YulIf", + "src": "50155:119:21" + }, + { + "nativeSrc": "50284:316:21", + "nodeType": "YulBlock", + "src": "50284:316:21", + "statements": [ + { + "nativeSrc": "50299:38:21", + "nodeType": "YulVariableDeclaration", + "src": "50299:38:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50323:9:21", + "nodeType": "YulIdentifier", + "src": "50323:9:21" + }, + { + "kind": "number", + "nativeSrc": "50334:1:21", + "nodeType": "YulLiteral", + "src": "50334:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50319:3:21", + "nodeType": "YulIdentifier", + "src": "50319:3:21" + }, + "nativeSrc": "50319:17:21", + "nodeType": "YulFunctionCall", + "src": "50319:17:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "50313:5:21", + "nodeType": "YulIdentifier", + "src": "50313:5:21" + }, + "nativeSrc": "50313:24:21", + "nodeType": "YulFunctionCall", + "src": "50313:24:21" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "50303:6:21", + "nodeType": "YulTypedName", + "src": "50303:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "50384:83:21", + "nodeType": "YulBlock", + "src": "50384:83:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nativeSrc": "50386:77:21", + "nodeType": "YulIdentifier", + "src": "50386:77:21" + }, + "nativeSrc": "50386:79:21", + "nodeType": "YulFunctionCall", + "src": "50386:79:21" + }, + "nativeSrc": "50386:79:21", + "nodeType": "YulExpressionStatement", + "src": "50386:79:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "50356:6:21", + "nodeType": "YulIdentifier", + "src": "50356:6:21" + }, + { + "kind": "number", + "nativeSrc": "50364:18:21", + "nodeType": "YulLiteral", + "src": "50364:18:21", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "50353:2:21", + "nodeType": "YulIdentifier", + "src": "50353:2:21" + }, + "nativeSrc": "50353:30:21", + "nodeType": "YulFunctionCall", + "src": "50353:30:21" + }, + "nativeSrc": "50350:117:21", + "nodeType": "YulIf", + "src": "50350:117:21" + }, + { + "nativeSrc": "50481:109:21", + "nodeType": "YulAssignment", + "src": "50481:109:21", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50562:9:21", + "nodeType": "YulIdentifier", + "src": "50562:9:21" + }, + { + "name": "offset", + "nativeSrc": "50573:6:21", + "nodeType": "YulIdentifier", + "src": "50573:6:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50558:3:21", + "nodeType": "YulIdentifier", + "src": "50558:3:21" + }, + "nativeSrc": "50558:22:21", + "nodeType": "YulFunctionCall", + "src": "50558:22:21" + }, + { + "name": "dataEnd", + "nativeSrc": "50582:7:21", + "nodeType": "YulIdentifier", + "src": "50582:7:21" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "50491:66:21", + "nodeType": "YulIdentifier", + "src": "50491:66:21" + }, + "nativeSrc": "50491:99:21", + "nodeType": "YulFunctionCall", + "src": "50491:99:21" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "50481:6:21", + "nodeType": "YulIdentifier", + "src": "50481:6:21" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory", + "nativeSrc": "50033:574:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "50115:9:21", + "nodeType": "YulTypedName", + "src": "50115:9:21", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "50126:7:21", + "nodeType": "YulTypedName", + "src": "50126:7:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "50138:6:21", + "nodeType": "YulTypedName", + "src": "50138:6:21", + "type": "" + } + ], + "src": "50033:574:21" + }, + { + "body": { + "nativeSrc": "50885:508:21", + "nodeType": "YulBlock", + "src": "50885:508:21", + "statements": [ + { + "nativeSrc": "50895:26:21", + "nodeType": "YulAssignment", + "src": "50895:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50907:9:21", + "nodeType": "YulIdentifier", + "src": "50907:9:21" + }, + { + "kind": "number", + "nativeSrc": "50918:2:21", + "nodeType": "YulLiteral", + "src": "50918:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50903:3:21", + "nodeType": "YulIdentifier", + "src": "50903:3:21" + }, + "nativeSrc": "50903:18:21", + "nodeType": "YulFunctionCall", + "src": "50903:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "50895:4:21", + "nodeType": "YulIdentifier", + "src": "50895:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "50975:6:21", + "nodeType": "YulIdentifier", + "src": "50975:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "50988:9:21", + "nodeType": "YulIdentifier", + "src": "50988:9:21" + }, + { + "kind": "number", + "nativeSrc": "50999:1:21", + "nodeType": "YulLiteral", + "src": "50999:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "50984:3:21", + "nodeType": "YulIdentifier", + "src": "50984:3:21" + }, + "nativeSrc": "50984:17:21", + "nodeType": "YulFunctionCall", + "src": "50984:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "50931:43:21", + "nodeType": "YulIdentifier", + "src": "50931:43:21" + }, + "nativeSrc": "50931:71:21", + "nodeType": "YulFunctionCall", + "src": "50931:71:21" + }, + "nativeSrc": "50931:71:21", + "nodeType": "YulExpressionStatement", + "src": "50931:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51023:9:21", + "nodeType": "YulIdentifier", + "src": "51023:9:21" + }, + { + "kind": "number", + "nativeSrc": "51034:2:21", + "nodeType": "YulLiteral", + "src": "51034:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51019:3:21", + "nodeType": "YulIdentifier", + "src": "51019:3:21" + }, + "nativeSrc": "51019:18:21", + "nodeType": "YulFunctionCall", + "src": "51019:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "51043:4:21", + "nodeType": "YulIdentifier", + "src": "51043:4:21" + }, + { + "name": "headStart", + "nativeSrc": "51049:9:21", + "nodeType": "YulIdentifier", + "src": "51049:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "51039:3:21", + "nodeType": "YulIdentifier", + "src": "51039:3:21" + }, + "nativeSrc": "51039:20:21", + "nodeType": "YulFunctionCall", + "src": "51039:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51012:6:21", + "nodeType": "YulIdentifier", + "src": "51012:6:21" + }, + "nativeSrc": "51012:48:21", + "nodeType": "YulFunctionCall", + "src": "51012:48:21" + }, + "nativeSrc": "51012:48:21", + "nodeType": "YulExpressionStatement", + "src": "51012:48:21" + }, + { + "nativeSrc": "51069:116:21", + "nodeType": "YulAssignment", + "src": "51069:116:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "51171:6:21", + "nodeType": "YulIdentifier", + "src": "51171:6:21" + }, + { + "name": "tail", + "nativeSrc": "51180:4:21", + "nodeType": "YulIdentifier", + "src": "51180:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "51077:93:21", + "nodeType": "YulIdentifier", + "src": "51077:93:21" + }, + "nativeSrc": "51077:108:21", + "nodeType": "YulFunctionCall", + "src": "51077:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51069:4:21", + "nodeType": "YulIdentifier", + "src": "51069:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51206:9:21", + "nodeType": "YulIdentifier", + "src": "51206:9:21" + }, + { + "kind": "number", + "nativeSrc": "51217:2:21", + "nodeType": "YulLiteral", + "src": "51217:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51202:3:21", + "nodeType": "YulIdentifier", + "src": "51202:3:21" + }, + "nativeSrc": "51202:18:21", + "nodeType": "YulFunctionCall", + "src": "51202:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "51226:4:21", + "nodeType": "YulIdentifier", + "src": "51226:4:21" + }, + { + "name": "headStart", + "nativeSrc": "51232:9:21", + "nodeType": "YulIdentifier", + "src": "51232:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "51222:3:21", + "nodeType": "YulIdentifier", + "src": "51222:3:21" + }, + "nativeSrc": "51222:20:21", + "nodeType": "YulFunctionCall", + "src": "51222:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51195:6:21", + "nodeType": "YulIdentifier", + "src": "51195:6:21" + }, + "nativeSrc": "51195:48:21", + "nodeType": "YulFunctionCall", + "src": "51195:48:21" + }, + "nativeSrc": "51195:48:21", + "nodeType": "YulExpressionStatement", + "src": "51195:48:21" + }, + { + "nativeSrc": "51252:134:21", + "nodeType": "YulAssignment", + "src": "51252:134:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "51372:6:21", + "nodeType": "YulIdentifier", + "src": "51372:6:21" + }, + { + "name": "tail", + "nativeSrc": "51381:4:21", + "nodeType": "YulIdentifier", + "src": "51381:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "51260:111:21", + "nodeType": "YulIdentifier", + "src": "51260:111:21" + }, + "nativeSrc": "51260:126:21", + "nodeType": "YulFunctionCall", + "src": "51260:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51252:4:21", + "nodeType": "YulIdentifier", + "src": "51252:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "50613:780:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "50841:9:21", + "nodeType": "YulTypedName", + "src": "50841:9:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "50853:6:21", + "nodeType": "YulTypedName", + "src": "50853:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "50861:6:21", + "nodeType": "YulTypedName", + "src": "50861:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "50869:6:21", + "nodeType": "YulTypedName", + "src": "50869:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "50880:4:21", + "nodeType": "YulTypedName", + "src": "50880:4:21", + "type": "" + } + ], + "src": "50613:780:21" + }, + { + "body": { + "nativeSrc": "51462:52:21", + "nodeType": "YulBlock", + "src": "51462:52:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "51479:3:21", + "nodeType": "YulIdentifier", + "src": "51479:3:21" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "51501:5:21", + "nodeType": "YulIdentifier", + "src": "51501:5:21" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nativeSrc": "51484:16:21", + "nodeType": "YulIdentifier", + "src": "51484:16:21" + }, + "nativeSrc": "51484:23:21", + "nodeType": "YulFunctionCall", + "src": "51484:23:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "51472:6:21", + "nodeType": "YulIdentifier", + "src": "51472:6:21" + }, + "nativeSrc": "51472:36:21", + "nodeType": "YulFunctionCall", + "src": "51472:36:21" + }, + "nativeSrc": "51472:36:21", + "nodeType": "YulExpressionStatement", + "src": "51472:36:21" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "51399:115:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "51450:5:21", + "nodeType": "YulTypedName", + "src": "51450:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "51457:3:21", + "nodeType": "YulTypedName", + "src": "51457:3:21", + "type": "" + } + ], + "src": "51399:115:21" + }, + { + "body": { + "nativeSrc": "51912:844:21", + "nodeType": "YulBlock", + "src": "51912:844:21", + "statements": [ + { + "nativeSrc": "51922:27:21", + "nodeType": "YulAssignment", + "src": "51922:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "51934:9:21", + "nodeType": "YulIdentifier", + "src": "51934:9:21" + }, + { + "kind": "number", + "nativeSrc": "51945:3:21", + "nodeType": "YulLiteral", + "src": "51945:3:21", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "51930:3:21", + "nodeType": "YulIdentifier", + "src": "51930:3:21" + }, + "nativeSrc": "51930:19:21", + "nodeType": "YulFunctionCall", + "src": "51930:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "51922:4:21", + "nodeType": "YulIdentifier", + "src": "51922:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "52023:6:21", + "nodeType": "YulIdentifier", + "src": "52023:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52036:9:21", + "nodeType": "YulIdentifier", + "src": "52036:9:21" + }, + { + "kind": "number", + "nativeSrc": "52047:1:21", + "nodeType": "YulLiteral", + "src": "52047:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52032:3:21", + "nodeType": "YulIdentifier", + "src": "52032:3:21" + }, + "nativeSrc": "52032:17:21", + "nodeType": "YulFunctionCall", + "src": "52032:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack", + "nativeSrc": "51959:63:21", + "nodeType": "YulIdentifier", + "src": "51959:63:21" + }, + "nativeSrc": "51959:91:21", + "nodeType": "YulFunctionCall", + "src": "51959:91:21" + }, + "nativeSrc": "51959:91:21", + "nodeType": "YulExpressionStatement", + "src": "51959:91:21" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "52104:6:21", + "nodeType": "YulIdentifier", + "src": "52104:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52117:9:21", + "nodeType": "YulIdentifier", + "src": "52117:9:21" + }, + { + "kind": "number", + "nativeSrc": "52128:2:21", + "nodeType": "YulLiteral", + "src": "52128:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52113:3:21", + "nodeType": "YulIdentifier", + "src": "52113:3:21" + }, + "nativeSrc": "52113:18:21", + "nodeType": "YulFunctionCall", + "src": "52113:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "52060:43:21", + "nodeType": "YulIdentifier", + "src": "52060:43:21" + }, + "nativeSrc": "52060:72:21", + "nodeType": "YulFunctionCall", + "src": "52060:72:21" + }, + "nativeSrc": "52060:72:21", + "nodeType": "YulExpressionStatement", + "src": "52060:72:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52153:9:21", + "nodeType": "YulIdentifier", + "src": "52153:9:21" + }, + { + "kind": "number", + "nativeSrc": "52164:2:21", + "nodeType": "YulLiteral", + "src": "52164:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52149:3:21", + "nodeType": "YulIdentifier", + "src": "52149:3:21" + }, + "nativeSrc": "52149:18:21", + "nodeType": "YulFunctionCall", + "src": "52149:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52173:4:21", + "nodeType": "YulIdentifier", + "src": "52173:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52179:9:21", + "nodeType": "YulIdentifier", + "src": "52179:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52169:3:21", + "nodeType": "YulIdentifier", + "src": "52169:3:21" + }, + "nativeSrc": "52169:20:21", + "nodeType": "YulFunctionCall", + "src": "52169:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52142:6:21", + "nodeType": "YulIdentifier", + "src": "52142:6:21" + }, + "nativeSrc": "52142:48:21", + "nodeType": "YulFunctionCall", + "src": "52142:48:21" + }, + "nativeSrc": "52142:48:21", + "nodeType": "YulExpressionStatement", + "src": "52142:48:21" + }, + { + "nativeSrc": "52199:116:21", + "nodeType": "YulAssignment", + "src": "52199:116:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "52301:6:21", + "nodeType": "YulIdentifier", + "src": "52301:6:21" + }, + { + "name": "tail", + "nativeSrc": "52310:4:21", + "nodeType": "YulIdentifier", + "src": "52310:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack", + "nativeSrc": "52207:93:21", + "nodeType": "YulIdentifier", + "src": "52207:93:21" + }, + "nativeSrc": "52207:108:21", + "nodeType": "YulFunctionCall", + "src": "52207:108:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52199:4:21", + "nodeType": "YulIdentifier", + "src": "52199:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52336:9:21", + "nodeType": "YulIdentifier", + "src": "52336:9:21" + }, + { + "kind": "number", + "nativeSrc": "52347:2:21", + "nodeType": "YulLiteral", + "src": "52347:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52332:3:21", + "nodeType": "YulIdentifier", + "src": "52332:3:21" + }, + "nativeSrc": "52332:18:21", + "nodeType": "YulFunctionCall", + "src": "52332:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52356:4:21", + "nodeType": "YulIdentifier", + "src": "52356:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52362:9:21", + "nodeType": "YulIdentifier", + "src": "52362:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52352:3:21", + "nodeType": "YulIdentifier", + "src": "52352:3:21" + }, + "nativeSrc": "52352:20:21", + "nodeType": "YulFunctionCall", + "src": "52352:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52325:6:21", + "nodeType": "YulIdentifier", + "src": "52325:6:21" + }, + "nativeSrc": "52325:48:21", + "nodeType": "YulFunctionCall", + "src": "52325:48:21" + }, + "nativeSrc": "52325:48:21", + "nodeType": "YulExpressionStatement", + "src": "52325:48:21" + }, + { + "nativeSrc": "52382:134:21", + "nodeType": "YulAssignment", + "src": "52382:134:21", + "value": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "52502:6:21", + "nodeType": "YulIdentifier", + "src": "52502:6:21" + }, + { + "name": "tail", + "nativeSrc": "52511:4:21", + "nodeType": "YulIdentifier", + "src": "52511:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "52390:111:21", + "nodeType": "YulIdentifier", + "src": "52390:111:21" + }, + "nativeSrc": "52390:126:21", + "nodeType": "YulFunctionCall", + "src": "52390:126:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52382:4:21", + "nodeType": "YulIdentifier", + "src": "52382:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "52568:6:21", + "nodeType": "YulIdentifier", + "src": "52568:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52581:9:21", + "nodeType": "YulIdentifier", + "src": "52581:9:21" + }, + { + "kind": "number", + "nativeSrc": "52592:3:21", + "nodeType": "YulLiteral", + "src": "52592:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52577:3:21", + "nodeType": "YulIdentifier", + "src": "52577:3:21" + }, + "nativeSrc": "52577:19:21", + "nodeType": "YulFunctionCall", + "src": "52577:19:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "52526:41:21", + "nodeType": "YulIdentifier", + "src": "52526:41:21" + }, + "nativeSrc": "52526:71:21", + "nodeType": "YulFunctionCall", + "src": "52526:71:21" + }, + "nativeSrc": "52526:71:21", + "nodeType": "YulExpressionStatement", + "src": "52526:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "52618:9:21", + "nodeType": "YulIdentifier", + "src": "52618:9:21" + }, + { + "kind": "number", + "nativeSrc": "52629:3:21", + "nodeType": "YulLiteral", + "src": "52629:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "52614:3:21", + "nodeType": "YulIdentifier", + "src": "52614:3:21" + }, + "nativeSrc": "52614:19:21", + "nodeType": "YulFunctionCall", + "src": "52614:19:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "52639:4:21", + "nodeType": "YulIdentifier", + "src": "52639:4:21" + }, + { + "name": "headStart", + "nativeSrc": "52645:9:21", + "nodeType": "YulIdentifier", + "src": "52645:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "52635:3:21", + "nodeType": "YulIdentifier", + "src": "52635:3:21" + }, + "nativeSrc": "52635:20:21", + "nodeType": "YulFunctionCall", + "src": "52635:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "52607:6:21", + "nodeType": "YulIdentifier", + "src": "52607:6:21" + }, + "nativeSrc": "52607:49:21", + "nodeType": "YulFunctionCall", + "src": "52607:49:21" + }, + "nativeSrc": "52607:49:21", + "nodeType": "YulExpressionStatement", + "src": "52607:49:21" + }, + { + "nativeSrc": "52665:84:21", + "nodeType": "YulAssignment", + "src": "52665:84:21", + "value": { + "arguments": [ + { + "name": "value5", + "nativeSrc": "52735:6:21", + "nodeType": "YulIdentifier", + "src": "52735:6:21" + }, + { + "name": "tail", + "nativeSrc": "52744:4:21", + "nodeType": "YulIdentifier", + "src": "52744:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "52673:61:21", + "nodeType": "YulIdentifier", + "src": "52673:61:21" + }, + "nativeSrc": "52673:76:21", + "nodeType": "YulFunctionCall", + "src": "52673:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "52665:4:21", + "nodeType": "YulIdentifier", + "src": "52665:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "51520:1236:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "51844:9:21", + "nodeType": "YulTypedName", + "src": "51844:9:21", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "51856:6:21", + "nodeType": "YulTypedName", + "src": "51856:6:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "51864:6:21", + "nodeType": "YulTypedName", + "src": "51864:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "51872:6:21", + "nodeType": "YulTypedName", + "src": "51872:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "51880:6:21", + "nodeType": "YulTypedName", + "src": "51880:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "51888:6:21", + "nodeType": "YulTypedName", + "src": "51888:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "51896:6:21", + "nodeType": "YulTypedName", + "src": "51896:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "51907:4:21", + "nodeType": "YulTypedName", + "src": "51907:4:21", + "type": "" + } + ], + "src": "51520:1236:21" + }, + { + "body": { + "nativeSrc": "52846:40:21", + "nodeType": "YulBlock", + "src": "52846:40:21", + "statements": [ + { + "nativeSrc": "52857:22:21", + "nodeType": "YulAssignment", + "src": "52857:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "52873:5:21", + "nodeType": "YulIdentifier", + "src": "52873:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "52867:5:21", + "nodeType": "YulIdentifier", + "src": "52867:5:21" + }, + "nativeSrc": "52867:12:21", + "nodeType": "YulFunctionCall", + "src": "52867:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "52857:6:21", + "nodeType": "YulIdentifier", + "src": "52857:6:21" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "52762:124:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "52829:5:21", + "nodeType": "YulTypedName", + "src": "52829:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "52839:6:21", + "nodeType": "YulTypedName", + "src": "52839:6:21", + "type": "" + } + ], + "src": "52762:124:21" + }, + { + "body": { + "nativeSrc": "53013:73:21", + "nodeType": "YulBlock", + "src": "53013:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53030:3:21", + "nodeType": "YulIdentifier", + "src": "53030:3:21" + }, + { + "name": "length", + "nativeSrc": "53035:6:21", + "nodeType": "YulIdentifier", + "src": "53035:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "53023:6:21", + "nodeType": "YulIdentifier", + "src": "53023:6:21" + }, + "nativeSrc": "53023:19:21", + "nodeType": "YulFunctionCall", + "src": "53023:19:21" + }, + "nativeSrc": "53023:19:21", + "nodeType": "YulExpressionStatement", + "src": "53023:19:21" + }, + { + "nativeSrc": "53051:29:21", + "nodeType": "YulAssignment", + "src": "53051:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53070:3:21", + "nodeType": "YulIdentifier", + "src": "53070:3:21" + }, + { + "kind": "number", + "nativeSrc": "53075:4:21", + "nodeType": "YulLiteral", + "src": "53075:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53066:3:21", + "nodeType": "YulIdentifier", + "src": "53066:3:21" + }, + "nativeSrc": "53066:14:21", + "nodeType": "YulFunctionCall", + "src": "53066:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "53051:11:21", + "nodeType": "YulIdentifier", + "src": "53051:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "52892:194:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "52985:3:21", + "nodeType": "YulTypedName", + "src": "52985:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "52990:6:21", + "nodeType": "YulTypedName", + "src": "52990:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "53001:11:21", + "nodeType": "YulTypedName", + "src": "53001:11:21", + "type": "" + } + ], + "src": "52892:194:21" + }, + { + "body": { + "nativeSrc": "53174:60:21", + "nodeType": "YulBlock", + "src": "53174:60:21", + "statements": [ + { + "nativeSrc": "53184:11:21", + "nodeType": "YulAssignment", + "src": "53184:11:21", + "value": { + "name": "ptr", + "nativeSrc": "53192:3:21", + "nodeType": "YulIdentifier", + "src": "53192:3:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "53184:4:21", + "nodeType": "YulIdentifier", + "src": "53184:4:21" + } + ] + }, + { + "nativeSrc": "53205:22:21", + "nodeType": "YulAssignment", + "src": "53205:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "53217:3:21", + "nodeType": "YulIdentifier", + "src": "53217:3:21" + }, + { + "kind": "number", + "nativeSrc": "53222:4:21", + "nodeType": "YulLiteral", + "src": "53222:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53213:3:21", + "nodeType": "YulIdentifier", + "src": "53213:3:21" + }, + "nativeSrc": "53213:14:21", + "nodeType": "YulFunctionCall", + "src": "53213:14:21" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "53205:4:21", + "nodeType": "YulIdentifier", + "src": "53205:4:21" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "53092:142:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "53161:3:21", + "nodeType": "YulTypedName", + "src": "53161:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "53169:4:21", + "nodeType": "YulTypedName", + "src": "53169:4:21", + "type": "" + } + ], + "src": "53092:142:21" + }, + { + "body": { + "nativeSrc": "53299:40:21", + "nodeType": "YulBlock", + "src": "53299:40:21", + "statements": [ + { + "nativeSrc": "53310:22:21", + "nodeType": "YulAssignment", + "src": "53310:22:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "53326:5:21", + "nodeType": "YulIdentifier", + "src": "53326:5:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "53320:5:21", + "nodeType": "YulIdentifier", + "src": "53320:5:21" + }, + "nativeSrc": "53320:12:21", + "nodeType": "YulFunctionCall", + "src": "53320:12:21" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "53310:6:21", + "nodeType": "YulIdentifier", + "src": "53310:6:21" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "53240:99:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "53282:5:21", + "nodeType": "YulTypedName", + "src": "53282:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "53292:6:21", + "nodeType": "YulTypedName", + "src": "53292:6:21", + "type": "" + } + ], + "src": "53240:99:21" + }, + { + "body": { + "nativeSrc": "53431:73:21", + "nodeType": "YulBlock", + "src": "53431:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53448:3:21", + "nodeType": "YulIdentifier", + "src": "53448:3:21" + }, + { + "name": "length", + "nativeSrc": "53453:6:21", + "nodeType": "YulIdentifier", + "src": "53453:6:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "53441:6:21", + "nodeType": "YulIdentifier", + "src": "53441:6:21" + }, + "nativeSrc": "53441:19:21", + "nodeType": "YulFunctionCall", + "src": "53441:19:21" + }, + "nativeSrc": "53441:19:21", + "nodeType": "YulExpressionStatement", + "src": "53441:19:21" + }, + { + "nativeSrc": "53469:29:21", + "nodeType": "YulAssignment", + "src": "53469:29:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53488:3:21", + "nodeType": "YulIdentifier", + "src": "53488:3:21" + }, + { + "kind": "number", + "nativeSrc": "53493:4:21", + "nodeType": "YulLiteral", + "src": "53493:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53484:3:21", + "nodeType": "YulIdentifier", + "src": "53484:3:21" + }, + "nativeSrc": "53484:14:21", + "nodeType": "YulFunctionCall", + "src": "53484:14:21" + }, + "variableNames": [ + { + "name": "updated_pos", + "nativeSrc": "53469:11:21", + "nodeType": "YulIdentifier", + "src": "53469:11:21" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "53345:159:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "53403:3:21", + "nodeType": "YulTypedName", + "src": "53403:3:21", + "type": "" + }, + { + "name": "length", + "nativeSrc": "53408:6:21", + "nodeType": "YulTypedName", + "src": "53408:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nativeSrc": "53419:11:21", + "nodeType": "YulTypedName", + "src": "53419:11:21", + "type": "" + } + ], + "src": "53345:159:21" + }, + { + "body": { + "nativeSrc": "53592:275:21", + "nodeType": "YulBlock", + "src": "53592:275:21", + "statements": [ + { + "nativeSrc": "53602:53:21", + "nodeType": "YulVariableDeclaration", + "src": "53602:53:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "53649:5:21", + "nodeType": "YulIdentifier", + "src": "53649:5:21" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "53616:32:21", + "nodeType": "YulIdentifier", + "src": "53616:32:21" + }, + "nativeSrc": "53616:39:21", + "nodeType": "YulFunctionCall", + "src": "53616:39:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "53606:6:21", + "nodeType": "YulTypedName", + "src": "53606:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "53664:68:21", + "nodeType": "YulAssignment", + "src": "53664:68:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53720:3:21", + "nodeType": "YulIdentifier", + "src": "53720:3:21" + }, + { + "name": "length", + "nativeSrc": "53725:6:21", + "nodeType": "YulIdentifier", + "src": "53725:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nativeSrc": "53671:48:21", + "nodeType": "YulIdentifier", + "src": "53671:48:21" + }, + "nativeSrc": "53671:61:21", + "nodeType": "YulFunctionCall", + "src": "53671:61:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "53664:3:21", + "nodeType": "YulIdentifier", + "src": "53664:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "53780:5:21", + "nodeType": "YulIdentifier", + "src": "53780:5:21" + }, + { + "kind": "number", + "nativeSrc": "53787:4:21", + "nodeType": "YulLiteral", + "src": "53787:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53776:3:21", + "nodeType": "YulIdentifier", + "src": "53776:3:21" + }, + "nativeSrc": "53776:16:21", + "nodeType": "YulFunctionCall", + "src": "53776:16:21" + }, + { + "name": "pos", + "nativeSrc": "53794:3:21", + "nodeType": "YulIdentifier", + "src": "53794:3:21" + }, + { + "name": "length", + "nativeSrc": "53799:6:21", + "nodeType": "YulIdentifier", + "src": "53799:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "53741:34:21", + "nodeType": "YulIdentifier", + "src": "53741:34:21" + }, + "nativeSrc": "53741:65:21", + "nodeType": "YulFunctionCall", + "src": "53741:65:21" + }, + "nativeSrc": "53741:65:21", + "nodeType": "YulExpressionStatement", + "src": "53741:65:21" + }, + { + "nativeSrc": "53815:46:21", + "nodeType": "YulAssignment", + "src": "53815:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "53826:3:21", + "nodeType": "YulIdentifier", + "src": "53826:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "53853:6:21", + "nodeType": "YulIdentifier", + "src": "53853:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "53831:21:21", + "nodeType": "YulIdentifier", + "src": "53831:21:21" + }, + "nativeSrc": "53831:29:21", + "nodeType": "YulFunctionCall", + "src": "53831:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "53822:3:21", + "nodeType": "YulIdentifier", + "src": "53822:3:21" + }, + "nativeSrc": "53822:39:21", + "nodeType": "YulFunctionCall", + "src": "53822:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "53815:3:21", + "nodeType": "YulIdentifier", + "src": "53815:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53510:357:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "53573:5:21", + "nodeType": "YulTypedName", + "src": "53573:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "53580:3:21", + "nodeType": "YulTypedName", + "src": "53580:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "53588:3:21", + "nodeType": "YulTypedName", + "src": "53588:3:21", + "type": "" + } + ], + "src": "53510:357:21" + }, + { + "body": { + "nativeSrc": "53973:96:21", + "nodeType": "YulBlock", + "src": "53973:96:21", + "statements": [ + { + "nativeSrc": "53983:80:21", + "nodeType": "YulAssignment", + "src": "53983:80:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "54051:6:21", + "nodeType": "YulIdentifier", + "src": "54051:6:21" + }, + { + "name": "pos", + "nativeSrc": "54059:3:21", + "nodeType": "YulIdentifier", + "src": "54059:3:21" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53997:53:21", + "nodeType": "YulIdentifier", + "src": "53997:53:21" + }, + "nativeSrc": "53997:66:21", + "nodeType": "YulFunctionCall", + "src": "53997:66:21" + }, + "variableNames": [ + { + "name": "updatedPos", + "nativeSrc": "53983:10:21", + "nodeType": "YulIdentifier", + "src": "53983:10:21" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "53873:196:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nativeSrc": "53946:6:21", + "nodeType": "YulTypedName", + "src": "53946:6:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "53954:3:21", + "nodeType": "YulTypedName", + "src": "53954:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nativeSrc": "53962:10:21", + "nodeType": "YulTypedName", + "src": "53962:10:21", + "type": "" + } + ], + "src": "53873:196:21" + }, + { + "body": { + "nativeSrc": "54160:38:21", + "nodeType": "YulBlock", + "src": "54160:38:21", + "statements": [ + { + "nativeSrc": "54170:22:21", + "nodeType": "YulAssignment", + "src": "54170:22:21", + "value": { + "arguments": [ + { + "name": "ptr", + "nativeSrc": "54182:3:21", + "nodeType": "YulIdentifier", + "src": "54182:3:21" + }, + { + "kind": "number", + "nativeSrc": "54187:4:21", + "nodeType": "YulLiteral", + "src": "54187:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54178:3:21", + "nodeType": "YulIdentifier", + "src": "54178:3:21" + }, + "nativeSrc": "54178:14:21", + "nodeType": "YulFunctionCall", + "src": "54178:14:21" + }, + "variableNames": [ + { + "name": "next", + "nativeSrc": "54170:4:21", + "nodeType": "YulIdentifier", + "src": "54170:4:21" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54075:123:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "54147:3:21", + "nodeType": "YulTypedName", + "src": "54147:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nativeSrc": "54155:4:21", + "nodeType": "YulTypedName", + "src": "54155:4:21", + "type": "" + } + ], + "src": "54075:123:21" + }, + { + "body": { + "nativeSrc": "54376:847:21", + "nodeType": "YulBlock", + "src": "54376:847:21", + "statements": [ + { + "nativeSrc": "54386:78:21", + "nodeType": "YulVariableDeclaration", + "src": "54386:78:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "54458:5:21", + "nodeType": "YulIdentifier", + "src": "54458:5:21" + } + ], + "functionName": { + "name": "array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54400:57:21", + "nodeType": "YulIdentifier", + "src": "54400:57:21" + }, + "nativeSrc": "54400:64:21", + "nodeType": "YulFunctionCall", + "src": "54400:64:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "54390:6:21", + "nodeType": "YulTypedName", + "src": "54390:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54473:103:21", + "nodeType": "YulAssignment", + "src": "54473:103:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54564:3:21", + "nodeType": "YulIdentifier", + "src": "54564:3:21" + }, + { + "name": "length", + "nativeSrc": "54569:6:21", + "nodeType": "YulIdentifier", + "src": "54569:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "54480:83:21", + "nodeType": "YulIdentifier", + "src": "54480:83:21" + }, + "nativeSrc": "54480:96:21", + "nodeType": "YulFunctionCall", + "src": "54480:96:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "54473:3:21", + "nodeType": "YulIdentifier", + "src": "54473:3:21" + } + ] + }, + { + "nativeSrc": "54585:20:21", + "nodeType": "YulVariableDeclaration", + "src": "54585:20:21", + "value": { + "name": "pos", + "nativeSrc": "54602:3:21", + "nodeType": "YulIdentifier", + "src": "54602:3:21" + }, + "variables": [ + { + "name": "headStart", + "nativeSrc": "54589:9:21", + "nodeType": "YulTypedName", + "src": "54589:9:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54614:39:21", + "nodeType": "YulVariableDeclaration", + "src": "54614:39:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54630:3:21", + "nodeType": "YulIdentifier", + "src": "54630:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "54639:6:21", + "nodeType": "YulIdentifier", + "src": "54639:6:21" + }, + { + "kind": "number", + "nativeSrc": "54647:4:21", + "nodeType": "YulLiteral", + "src": "54647:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "54635:3:21", + "nodeType": "YulIdentifier", + "src": "54635:3:21" + }, + "nativeSrc": "54635:17:21", + "nodeType": "YulFunctionCall", + "src": "54635:17:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54626:3:21", + "nodeType": "YulIdentifier", + "src": "54626:3:21" + }, + "nativeSrc": "54626:27:21", + "nodeType": "YulFunctionCall", + "src": "54626:27:21" + }, + "variables": [ + { + "name": "tail", + "nativeSrc": "54618:4:21", + "nodeType": "YulTypedName", + "src": "54618:4:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54662:81:21", + "nodeType": "YulVariableDeclaration", + "src": "54662:81:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "54737:5:21", + "nodeType": "YulIdentifier", + "src": "54737:5:21" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "54677:59:21", + "nodeType": "YulIdentifier", + "src": "54677:59:21" + }, + "nativeSrc": "54677:66:21", + "nodeType": "YulFunctionCall", + "src": "54677:66:21" + }, + "variables": [ + { + "name": "baseRef", + "nativeSrc": "54666:7:21", + "nodeType": "YulTypedName", + "src": "54666:7:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54752:21:21", + "nodeType": "YulVariableDeclaration", + "src": "54752:21:21", + "value": { + "name": "baseRef", + "nativeSrc": "54766:7:21", + "nodeType": "YulIdentifier", + "src": "54766:7:21" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "54756:6:21", + "nodeType": "YulTypedName", + "src": "54756:6:21", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "54842:336:21", + "nodeType": "YulBlock", + "src": "54842:336:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "54863:3:21", + "nodeType": "YulIdentifier", + "src": "54863:3:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "54872:4:21", + "nodeType": "YulIdentifier", + "src": "54872:4:21" + }, + { + "name": "headStart", + "nativeSrc": "54878:9:21", + "nodeType": "YulIdentifier", + "src": "54878:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "54868:3:21", + "nodeType": "YulIdentifier", + "src": "54868:3:21" + }, + "nativeSrc": "54868:20:21", + "nodeType": "YulFunctionCall", + "src": "54868:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "54856:6:21", + "nodeType": "YulIdentifier", + "src": "54856:6:21" + }, + "nativeSrc": "54856:33:21", + "nodeType": "YulFunctionCall", + "src": "54856:33:21" + }, + "nativeSrc": "54856:33:21", + "nodeType": "YulExpressionStatement", + "src": "54856:33:21" + }, + { + "nativeSrc": "54902:34:21", + "nodeType": "YulVariableDeclaration", + "src": "54902:34:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "54929:6:21", + "nodeType": "YulIdentifier", + "src": "54929:6:21" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "54923:5:21", + "nodeType": "YulIdentifier", + "src": "54923:5:21" + }, + "nativeSrc": "54923:13:21", + "nodeType": "YulFunctionCall", + "src": "54923:13:21" + }, + "variables": [ + { + "name": "elementValue0", + "nativeSrc": "54906:13:21", + "nodeType": "YulTypedName", + "src": "54906:13:21", + "type": "" + } + ] + }, + { + "nativeSrc": "54949:92:21", + "nodeType": "YulAssignment", + "src": "54949:92:21", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nativeSrc": "55021:13:21", + "nodeType": "YulIdentifier", + "src": "55021:13:21" + }, + { + "name": "tail", + "nativeSrc": "55036:4:21", + "nodeType": "YulIdentifier", + "src": "55036:4:21" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr", + "nativeSrc": "54957:63:21", + "nodeType": "YulIdentifier", + "src": "54957:63:21" + }, + "nativeSrc": "54957:84:21", + "nodeType": "YulFunctionCall", + "src": "54957:84:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "54949:4:21", + "nodeType": "YulIdentifier", + "src": "54949:4:21" + } + ] + }, + { + "nativeSrc": "55054:80:21", + "nodeType": "YulAssignment", + "src": "55054:80:21", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "55127:6:21", + "nodeType": "YulIdentifier", + "src": "55127:6:21" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "nativeSrc": "55064:62:21", + "nodeType": "YulIdentifier", + "src": "55064:62:21" + }, + "nativeSrc": "55064:70:21", + "nodeType": "YulFunctionCall", + "src": "55064:70:21" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "55054:6:21", + "nodeType": "YulIdentifier", + "src": "55054:6:21" + } + ] + }, + { + "nativeSrc": "55147:21:21", + "nodeType": "YulAssignment", + "src": "55147:21:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "55158:3:21", + "nodeType": "YulIdentifier", + "src": "55158:3:21" + }, + { + "kind": "number", + "nativeSrc": "55163:4:21", + "nodeType": "YulLiteral", + "src": "55163:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55154:3:21", + "nodeType": "YulIdentifier", + "src": "55154:3:21" + }, + "nativeSrc": "55154:14:21", + "nodeType": "YulFunctionCall", + "src": "55154:14:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "55147:3:21", + "nodeType": "YulIdentifier", + "src": "55147:3:21" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "54804:1:21", + "nodeType": "YulIdentifier", + "src": "54804:1:21" + }, + { + "name": "length", + "nativeSrc": "54807:6:21", + "nodeType": "YulIdentifier", + "src": "54807:6:21" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "54801:2:21", + "nodeType": "YulIdentifier", + "src": "54801:2:21" + }, + "nativeSrc": "54801:13:21", + "nodeType": "YulFunctionCall", + "src": "54801:13:21" + }, + "nativeSrc": "54782:396:21", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "54815:18:21", + "nodeType": "YulBlock", + "src": "54815:18:21", + "statements": [ + { + "nativeSrc": "54817:14:21", + "nodeType": "YulAssignment", + "src": "54817:14:21", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "54826:1:21", + "nodeType": "YulIdentifier", + "src": "54826:1:21" + }, + { + "kind": "number", + "nativeSrc": "54829:1:21", + "nodeType": "YulLiteral", + "src": "54829:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "54822:3:21", + "nodeType": "YulIdentifier", + "src": "54822:3:21" + }, + "nativeSrc": "54822:9:21", + "nodeType": "YulFunctionCall", + "src": "54822:9:21" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "54817:1:21", + "nodeType": "YulIdentifier", + "src": "54817:1:21" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "54786:14:21", + "nodeType": "YulBlock", + "src": "54786:14:21", + "statements": [ + { + "nativeSrc": "54788:10:21", + "nodeType": "YulVariableDeclaration", + "src": "54788:10:21", + "value": { + "kind": "number", + "nativeSrc": "54797:1:21", + "nodeType": "YulLiteral", + "src": "54797:1:21", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "54792:1:21", + "nodeType": "YulTypedName", + "src": "54792:1:21", + "type": "" + } + ] + } + ] + }, + "src": "54782:396:21" + }, + { + "nativeSrc": "55187:11:21", + "nodeType": "YulAssignment", + "src": "55187:11:21", + "value": { + "name": "tail", + "nativeSrc": "55194:4:21", + "nodeType": "YulIdentifier", + "src": "55194:4:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "55187:3:21", + "nodeType": "YulIdentifier", + "src": "55187:3:21" + } + ] + }, + { + "nativeSrc": "55207:10:21", + "nodeType": "YulAssignment", + "src": "55207:10:21", + "value": { + "name": "pos", + "nativeSrc": "55214:3:21", + "nodeType": "YulIdentifier", + "src": "55214:3:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "55207:3:21", + "nodeType": "YulIdentifier", + "src": "55207:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "54232:991:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "54355:5:21", + "nodeType": "YulTypedName", + "src": "54355:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "54362:3:21", + "nodeType": "YulTypedName", + "src": "54362:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "54371:3:21", + "nodeType": "YulTypedName", + "src": "54371:3:21", + "type": "" + } + ], + "src": "54232:991:21" + }, + { + "body": { + "nativeSrc": "55543:711:21", + "nodeType": "YulBlock", + "src": "55543:711:21", + "statements": [ + { + "nativeSrc": "55553:27:21", + "nodeType": "YulAssignment", + "src": "55553:27:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55565:9:21", + "nodeType": "YulIdentifier", + "src": "55565:9:21" + }, + { + "kind": "number", + "nativeSrc": "55576:3:21", + "nodeType": "YulLiteral", + "src": "55576:3:21", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55561:3:21", + "nodeType": "YulIdentifier", + "src": "55561:3:21" + }, + "nativeSrc": "55561:19:21", + "nodeType": "YulFunctionCall", + "src": "55561:19:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55553:4:21", + "nodeType": "YulIdentifier", + "src": "55553:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "55634:6:21", + "nodeType": "YulIdentifier", + "src": "55634:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55647:9:21", + "nodeType": "YulIdentifier", + "src": "55647:9:21" + }, + { + "kind": "number", + "nativeSrc": "55658:1:21", + "nodeType": "YulLiteral", + "src": "55658:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55643:3:21", + "nodeType": "YulIdentifier", + "src": "55643:3:21" + }, + "nativeSrc": "55643:17:21", + "nodeType": "YulFunctionCall", + "src": "55643:17:21" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nativeSrc": "55590:43:21", + "nodeType": "YulIdentifier", + "src": "55590:43:21" + }, + "nativeSrc": "55590:71:21", + "nodeType": "YulFunctionCall", + "src": "55590:71:21" + }, + "nativeSrc": "55590:71:21", + "nodeType": "YulExpressionStatement", + "src": "55590:71:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55682:9:21", + "nodeType": "YulIdentifier", + "src": "55682:9:21" + }, + { + "kind": "number", + "nativeSrc": "55693:2:21", + "nodeType": "YulLiteral", + "src": "55693:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55678:3:21", + "nodeType": "YulIdentifier", + "src": "55678:3:21" + }, + "nativeSrc": "55678:18:21", + "nodeType": "YulFunctionCall", + "src": "55678:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "55702:4:21", + "nodeType": "YulIdentifier", + "src": "55702:4:21" + }, + { + "name": "headStart", + "nativeSrc": "55708:9:21", + "nodeType": "YulIdentifier", + "src": "55708:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "55698:3:21", + "nodeType": "YulIdentifier", + "src": "55698:3:21" + }, + "nativeSrc": "55698:20:21", + "nodeType": "YulFunctionCall", + "src": "55698:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "55671:6:21", + "nodeType": "YulIdentifier", + "src": "55671:6:21" + }, + "nativeSrc": "55671:48:21", + "nodeType": "YulFunctionCall", + "src": "55671:48:21" + }, + "nativeSrc": "55671:48:21", + "nodeType": "YulExpressionStatement", + "src": "55671:48:21" + }, + { + "nativeSrc": "55728:136:21", + "nodeType": "YulAssignment", + "src": "55728:136:21", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "55850:6:21", + "nodeType": "YulIdentifier", + "src": "55850:6:21" + }, + { + "name": "tail", + "nativeSrc": "55859:4:21", + "nodeType": "YulIdentifier", + "src": "55859:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack", + "nativeSrc": "55736:113:21", + "nodeType": "YulIdentifier", + "src": "55736:113:21" + }, + "nativeSrc": "55736:128:21", + "nodeType": "YulFunctionCall", + "src": "55736:128:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55728:4:21", + "nodeType": "YulIdentifier", + "src": "55728:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "55885:9:21", + "nodeType": "YulIdentifier", + "src": "55885:9:21" + }, + { + "kind": "number", + "nativeSrc": "55896:2:21", + "nodeType": "YulLiteral", + "src": "55896:2:21", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "55881:3:21", + "nodeType": "YulIdentifier", + "src": "55881:3:21" + }, + "nativeSrc": "55881:18:21", + "nodeType": "YulFunctionCall", + "src": "55881:18:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "55905:4:21", + "nodeType": "YulIdentifier", + "src": "55905:4:21" + }, + { + "name": "headStart", + "nativeSrc": "55911:9:21", + "nodeType": "YulIdentifier", + "src": "55911:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "55901:3:21", + "nodeType": "YulIdentifier", + "src": "55901:3:21" + }, + "nativeSrc": "55901:20:21", + "nodeType": "YulFunctionCall", + "src": "55901:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "55874:6:21", + "nodeType": "YulIdentifier", + "src": "55874:6:21" + }, + "nativeSrc": "55874:48:21", + "nodeType": "YulFunctionCall", + "src": "55874:48:21" + }, + "nativeSrc": "55874:48:21", + "nodeType": "YulExpressionStatement", + "src": "55874:48:21" + }, + { + "nativeSrc": "55931:84:21", + "nodeType": "YulAssignment", + "src": "55931:84:21", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "56001:6:21", + "nodeType": "YulIdentifier", + "src": "56001:6:21" + }, + { + "name": "tail", + "nativeSrc": "56010:4:21", + "nodeType": "YulIdentifier", + "src": "56010:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "55939:61:21", + "nodeType": "YulIdentifier", + "src": "55939:61:21" + }, + "nativeSrc": "55939:76:21", + "nodeType": "YulFunctionCall", + "src": "55939:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "55931:4:21", + "nodeType": "YulIdentifier", + "src": "55931:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "56067:6:21", + "nodeType": "YulIdentifier", + "src": "56067:6:21" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "56080:9:21", + "nodeType": "YulIdentifier", + "src": "56080:9:21" + }, + { + "kind": "number", + "nativeSrc": "56091:2:21", + "nodeType": "YulLiteral", + "src": "56091:2:21", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56076:3:21", + "nodeType": "YulIdentifier", + "src": "56076:3:21" + }, + "nativeSrc": "56076:18:21", + "nodeType": "YulFunctionCall", + "src": "56076:18:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nativeSrc": "56025:41:21", + "nodeType": "YulIdentifier", + "src": "56025:41:21" + }, + "nativeSrc": "56025:70:21", + "nodeType": "YulFunctionCall", + "src": "56025:70:21" + }, + "nativeSrc": "56025:70:21", + "nodeType": "YulExpressionStatement", + "src": "56025:70:21" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "56116:9:21", + "nodeType": "YulIdentifier", + "src": "56116:9:21" + }, + { + "kind": "number", + "nativeSrc": "56127:3:21", + "nodeType": "YulLiteral", + "src": "56127:3:21", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56112:3:21", + "nodeType": "YulIdentifier", + "src": "56112:3:21" + }, + "nativeSrc": "56112:19:21", + "nodeType": "YulFunctionCall", + "src": "56112:19:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "56137:4:21", + "nodeType": "YulIdentifier", + "src": "56137:4:21" + }, + { + "name": "headStart", + "nativeSrc": "56143:9:21", + "nodeType": "YulIdentifier", + "src": "56143:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "56133:3:21", + "nodeType": "YulIdentifier", + "src": "56133:3:21" + }, + "nativeSrc": "56133:20:21", + "nodeType": "YulFunctionCall", + "src": "56133:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "56105:6:21", + "nodeType": "YulIdentifier", + "src": "56105:6:21" + }, + "nativeSrc": "56105:49:21", + "nodeType": "YulFunctionCall", + "src": "56105:49:21" + }, + "nativeSrc": "56105:49:21", + "nodeType": "YulExpressionStatement", + "src": "56105:49:21" + }, + { + "nativeSrc": "56163:84:21", + "nodeType": "YulAssignment", + "src": "56163:84:21", + "value": { + "arguments": [ + { + "name": "value4", + "nativeSrc": "56233:6:21", + "nodeType": "YulIdentifier", + "src": "56233:6:21" + }, + { + "name": "tail", + "nativeSrc": "56242:4:21", + "nodeType": "YulIdentifier", + "src": "56242:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nativeSrc": "56171:61:21", + "nodeType": "YulIdentifier", + "src": "56171:61:21" + }, + "nativeSrc": "56171:76:21", + "nodeType": "YulFunctionCall", + "src": "56171:76:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "56163:4:21", + "nodeType": "YulIdentifier", + "src": "56163:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed", + "nativeSrc": "55229:1025:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "55483:9:21", + "nodeType": "YulTypedName", + "src": "55483:9:21", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "55495:6:21", + "nodeType": "YulTypedName", + "src": "55495:6:21", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "55503:6:21", + "nodeType": "YulTypedName", + "src": "55503:6:21", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "55511:6:21", + "nodeType": "YulTypedName", + "src": "55511:6:21", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "55519:6:21", + "nodeType": "YulTypedName", + "src": "55519:6:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "55527:6:21", + "nodeType": "YulTypedName", + "src": "55527:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "55538:4:21", + "nodeType": "YulTypedName", + "src": "55538:4:21", + "type": "" + } + ], + "src": "55229:1025:21" + }, + { + "body": { + "nativeSrc": "56366:73:21", + "nodeType": "YulBlock", + "src": "56366:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "56388:6:21", + "nodeType": "YulIdentifier", + "src": "56388:6:21" + }, + { + "kind": "number", + "nativeSrc": "56396:1:21", + "nodeType": "YulLiteral", + "src": "56396:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56384:3:21", + "nodeType": "YulIdentifier", + "src": "56384:3:21" + }, + "nativeSrc": "56384:14:21", + "nodeType": "YulFunctionCall", + "src": "56384:14:21" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nativeSrc": "56400:31:21", + "nodeType": "YulLiteral", + "src": "56400:31:21", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "56377:6:21", + "nodeType": "YulIdentifier", + "src": "56377:6:21" + }, + "nativeSrc": "56377:55:21", + "nodeType": "YulFunctionCall", + "src": "56377:55:21" + }, + "nativeSrc": "56377:55:21", + "nodeType": "YulExpressionStatement", + "src": "56377:55:21" + } + ] + }, + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nativeSrc": "56260:179:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nativeSrc": "56358:6:21", + "nodeType": "YulTypedName", + "src": "56358:6:21", + "type": "" + } + ], + "src": "56260:179:21" + }, + { + "body": { + "nativeSrc": "56591:220:21", + "nodeType": "YulBlock", + "src": "56591:220:21", + "statements": [ + { + "nativeSrc": "56601:74:21", + "nodeType": "YulAssignment", + "src": "56601:74:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56667:3:21", + "nodeType": "YulIdentifier", + "src": "56667:3:21" + }, + { + "kind": "number", + "nativeSrc": "56672:2:21", + "nodeType": "YulLiteral", + "src": "56672:2:21", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "56608:58:21", + "nodeType": "YulIdentifier", + "src": "56608:58:21" + }, + "nativeSrc": "56608:67:21", + "nodeType": "YulFunctionCall", + "src": "56608:67:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "56601:3:21", + "nodeType": "YulIdentifier", + "src": "56601:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56773:3:21", + "nodeType": "YulIdentifier", + "src": "56773:3:21" + } + ], + "functionName": { + "name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "nativeSrc": "56684:88:21", + "nodeType": "YulIdentifier", + "src": "56684:88:21" + }, + "nativeSrc": "56684:93:21", + "nodeType": "YulFunctionCall", + "src": "56684:93:21" + }, + "nativeSrc": "56684:93:21", + "nodeType": "YulExpressionStatement", + "src": "56684:93:21" + }, + { + "nativeSrc": "56786:19:21", + "nodeType": "YulAssignment", + "src": "56786:19:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "56797:3:21", + "nodeType": "YulIdentifier", + "src": "56797:3:21" + }, + { + "kind": "number", + "nativeSrc": "56802:2:21", + "nodeType": "YulLiteral", + "src": "56802:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "56793:3:21", + "nodeType": "YulIdentifier", + "src": "56793:3:21" + }, + "nativeSrc": "56793:12:21", + "nodeType": "YulFunctionCall", + "src": "56793:12:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "56786:3:21", + "nodeType": "YulIdentifier", + "src": "56786:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nativeSrc": "56445:366:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "56579:3:21", + "nodeType": "YulTypedName", + "src": "56579:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "56587:3:21", + "nodeType": "YulTypedName", + "src": "56587:3:21", + "type": "" + } + ], + "src": "56445:366:21" + }, + { + "body": { + "nativeSrc": "56988:248:21", + "nodeType": "YulBlock", + "src": "56988:248:21", + "statements": [ + { + "nativeSrc": "56998:26:21", + "nodeType": "YulAssignment", + "src": "56998:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "57010:9:21", + "nodeType": "YulIdentifier", + "src": "57010:9:21" + }, + { + "kind": "number", + "nativeSrc": "57021:2:21", + "nodeType": "YulLiteral", + "src": "57021:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57006:3:21", + "nodeType": "YulIdentifier", + "src": "57006:3:21" + }, + "nativeSrc": "57006:18:21", + "nodeType": "YulFunctionCall", + "src": "57006:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "56998:4:21", + "nodeType": "YulIdentifier", + "src": "56998:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "57045:9:21", + "nodeType": "YulIdentifier", + "src": "57045:9:21" + }, + { + "kind": "number", + "nativeSrc": "57056:1:21", + "nodeType": "YulLiteral", + "src": "57056:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57041:3:21", + "nodeType": "YulIdentifier", + "src": "57041:3:21" + }, + "nativeSrc": "57041:17:21", + "nodeType": "YulFunctionCall", + "src": "57041:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "57064:4:21", + "nodeType": "YulIdentifier", + "src": "57064:4:21" + }, + { + "name": "headStart", + "nativeSrc": "57070:9:21", + "nodeType": "YulIdentifier", + "src": "57070:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "57060:3:21", + "nodeType": "YulIdentifier", + "src": "57060:3:21" + }, + "nativeSrc": "57060:20:21", + "nodeType": "YulFunctionCall", + "src": "57060:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "57034:6:21", + "nodeType": "YulIdentifier", + "src": "57034:6:21" + }, + "nativeSrc": "57034:47:21", + "nodeType": "YulFunctionCall", + "src": "57034:47:21" + }, + "nativeSrc": "57034:47:21", + "nodeType": "YulExpressionStatement", + "src": "57034:47:21" + }, + { + "nativeSrc": "57090:139:21", + "nodeType": "YulAssignment", + "src": "57090:139:21", + "value": { + "arguments": [ + { + "name": "tail", + "nativeSrc": "57224:4:21", + "nodeType": "YulIdentifier", + "src": "57224:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", + "nativeSrc": "57098:124:21", + "nodeType": "YulIdentifier", + "src": "57098:124:21" + }, + "nativeSrc": "57098:131:21", + "nodeType": "YulFunctionCall", + "src": "57098:131:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "57090:4:21", + "nodeType": "YulIdentifier", + "src": "57090:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "56817:419:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "56968:9:21", + "nodeType": "YulTypedName", + "src": "56968:9:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "56983:4:21", + "nodeType": "YulTypedName", + "src": "56983:4:21", + "type": "" + } + ], + "src": "56817:419:21" + }, + { + "body": { + "nativeSrc": "57287:149:21", + "nodeType": "YulBlock", + "src": "57287:149:21", + "statements": [ + { + "nativeSrc": "57297:25:21", + "nodeType": "YulAssignment", + "src": "57297:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57320:1:21", + "nodeType": "YulIdentifier", + "src": "57320:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57302:17:21", + "nodeType": "YulIdentifier", + "src": "57302:17:21" + }, + "nativeSrc": "57302:20:21", + "nodeType": "YulFunctionCall", + "src": "57302:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "57297:1:21", + "nodeType": "YulIdentifier", + "src": "57297:1:21" + } + ] + }, + { + "nativeSrc": "57331:25:21", + "nodeType": "YulAssignment", + "src": "57331:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "57354:1:21", + "nodeType": "YulIdentifier", + "src": "57354:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57336:17:21", + "nodeType": "YulIdentifier", + "src": "57336:17:21" + }, + "nativeSrc": "57336:20:21", + "nodeType": "YulFunctionCall", + "src": "57336:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "57331:1:21", + "nodeType": "YulIdentifier", + "src": "57331:1:21" + } + ] + }, + { + "nativeSrc": "57365:17:21", + "nodeType": "YulAssignment", + "src": "57365:17:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57377:1:21", + "nodeType": "YulIdentifier", + "src": "57377:1:21" + }, + { + "name": "y", + "nativeSrc": "57380:1:21", + "nodeType": "YulIdentifier", + "src": "57380:1:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "57373:3:21", + "nodeType": "YulIdentifier", + "src": "57373:3:21" + }, + "nativeSrc": "57373:9:21", + "nodeType": "YulFunctionCall", + "src": "57373:9:21" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "57365:4:21", + "nodeType": "YulIdentifier", + "src": "57365:4:21" + } + ] + }, + { + "body": { + "nativeSrc": "57407:22:21", + "nodeType": "YulBlock", + "src": "57407:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "57409:16:21", + "nodeType": "YulIdentifier", + "src": "57409:16:21" + }, + "nativeSrc": "57409:18:21", + "nodeType": "YulFunctionCall", + "src": "57409:18:21" + }, + "nativeSrc": "57409:18:21", + "nodeType": "YulExpressionStatement", + "src": "57409:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "57398:4:21", + "nodeType": "YulIdentifier", + "src": "57398:4:21" + }, + { + "name": "x", + "nativeSrc": "57404:1:21", + "nodeType": "YulIdentifier", + "src": "57404:1:21" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "57395:2:21", + "nodeType": "YulIdentifier", + "src": "57395:2:21" + }, + "nativeSrc": "57395:11:21", + "nodeType": "YulFunctionCall", + "src": "57395:11:21" + }, + "nativeSrc": "57392:37:21", + "nodeType": "YulIf", + "src": "57392:37:21" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "57242:194:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "57273:1:21", + "nodeType": "YulTypedName", + "src": "57273:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "57276:1:21", + "nodeType": "YulTypedName", + "src": "57276:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "57282:4:21", + "nodeType": "YulTypedName", + "src": "57282:4:21", + "type": "" + } + ], + "src": "57242:194:21" + }, + { + "body": { + "nativeSrc": "57485:190:21", + "nodeType": "YulBlock", + "src": "57485:190:21", + "statements": [ + { + "nativeSrc": "57495:33:21", + "nodeType": "YulAssignment", + "src": "57495:33:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57522:5:21", + "nodeType": "YulIdentifier", + "src": "57522:5:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57504:17:21", + "nodeType": "YulIdentifier", + "src": "57504:17:21" + }, + "nativeSrc": "57504:24:21", + "nodeType": "YulFunctionCall", + "src": "57504:24:21" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "57495:5:21", + "nodeType": "YulIdentifier", + "src": "57495:5:21" + } + ] + }, + { + "body": { + "nativeSrc": "57618:22:21", + "nodeType": "YulBlock", + "src": "57618:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "57620:16:21", + "nodeType": "YulIdentifier", + "src": "57620:16:21" + }, + "nativeSrc": "57620:18:21", + "nodeType": "YulFunctionCall", + "src": "57620:18:21" + }, + "nativeSrc": "57620:18:21", + "nodeType": "YulExpressionStatement", + "src": "57620:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57543:5:21", + "nodeType": "YulIdentifier", + "src": "57543:5:21" + }, + { + "kind": "number", + "nativeSrc": "57550:66:21", + "nodeType": "YulLiteral", + "src": "57550:66:21", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "57540:2:21", + "nodeType": "YulIdentifier", + "src": "57540:2:21" + }, + "nativeSrc": "57540:77:21", + "nodeType": "YulFunctionCall", + "src": "57540:77:21" + }, + "nativeSrc": "57537:103:21", + "nodeType": "YulIf", + "src": "57537:103:21" + }, + { + "nativeSrc": "57649:20:21", + "nodeType": "YulAssignment", + "src": "57649:20:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "57660:5:21", + "nodeType": "YulIdentifier", + "src": "57660:5:21" + }, + { + "kind": "number", + "nativeSrc": "57667:1:21", + "nodeType": "YulLiteral", + "src": "57667:1:21", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "57656:3:21", + "nodeType": "YulIdentifier", + "src": "57656:3:21" + }, + "nativeSrc": "57656:13:21", + "nodeType": "YulFunctionCall", + "src": "57656:13:21" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "57649:3:21", + "nodeType": "YulIdentifier", + "src": "57649:3:21" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "57442:233:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "57471:5:21", + "nodeType": "YulTypedName", + "src": "57471:5:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "57481:3:21", + "nodeType": "YulTypedName", + "src": "57481:3:21", + "type": "" + } + ], + "src": "57442:233:21" + }, + { + "body": { + "nativeSrc": "57729:362:21", + "nodeType": "YulBlock", + "src": "57729:362:21", + "statements": [ + { + "nativeSrc": "57739:25:21", + "nodeType": "YulAssignment", + "src": "57739:25:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57762:1:21", + "nodeType": "YulIdentifier", + "src": "57762:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57744:17:21", + "nodeType": "YulIdentifier", + "src": "57744:17:21" + }, + "nativeSrc": "57744:20:21", + "nodeType": "YulFunctionCall", + "src": "57744:20:21" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "57739:1:21", + "nodeType": "YulIdentifier", + "src": "57739:1:21" + } + ] + }, + { + "nativeSrc": "57773:25:21", + "nodeType": "YulAssignment", + "src": "57773:25:21", + "value": { + "arguments": [ + { + "name": "y", + "nativeSrc": "57796:1:21", + "nodeType": "YulIdentifier", + "src": "57796:1:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57778:17:21", + "nodeType": "YulIdentifier", + "src": "57778:17:21" + }, + "nativeSrc": "57778:20:21", + "nodeType": "YulFunctionCall", + "src": "57778:20:21" + }, + "variableNames": [ + { + "name": "y", + "nativeSrc": "57773:1:21", + "nodeType": "YulIdentifier", + "src": "57773:1:21" + } + ] + }, + { + "nativeSrc": "57807:28:21", + "nodeType": "YulVariableDeclaration", + "src": "57807:28:21", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "57830:1:21", + "nodeType": "YulIdentifier", + "src": "57830:1:21" + }, + { + "name": "y", + "nativeSrc": "57833:1:21", + "nodeType": "YulIdentifier", + "src": "57833:1:21" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "57826:3:21", + "nodeType": "YulIdentifier", + "src": "57826:3:21" + }, + "nativeSrc": "57826:9:21", + "nodeType": "YulFunctionCall", + "src": "57826:9:21" + }, + "variables": [ + { + "name": "product_raw", + "nativeSrc": "57811:11:21", + "nodeType": "YulTypedName", + "src": "57811:11:21", + "type": "" + } + ] + }, + { + "nativeSrc": "57844:41:21", + "nodeType": "YulAssignment", + "src": "57844:41:21", + "value": { + "arguments": [ + { + "name": "product_raw", + "nativeSrc": "57873:11:21", + "nodeType": "YulIdentifier", + "src": "57873:11:21" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nativeSrc": "57855:17:21", + "nodeType": "YulIdentifier", + "src": "57855:17:21" + }, + "nativeSrc": "57855:30:21", + "nodeType": "YulFunctionCall", + "src": "57855:30:21" + }, + "variableNames": [ + { + "name": "product", + "nativeSrc": "57844:7:21", + "nodeType": "YulIdentifier", + "src": "57844:7:21" + } + ] + }, + { + "body": { + "nativeSrc": "58062:22:21", + "nodeType": "YulBlock", + "src": "58062:22:21", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "58064:16:21", + "nodeType": "YulIdentifier", + "src": "58064:16:21" + }, + "nativeSrc": "58064:18:21", + "nodeType": "YulFunctionCall", + "src": "58064:18:21" + }, + "nativeSrc": "58064:18:21", + "nodeType": "YulExpressionStatement", + "src": "58064:18:21" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "57995:1:21", + "nodeType": "YulIdentifier", + "src": "57995:1:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "57988:6:21", + "nodeType": "YulIdentifier", + "src": "57988:6:21" + }, + "nativeSrc": "57988:9:21", + "nodeType": "YulFunctionCall", + "src": "57988:9:21" + }, + { + "arguments": [ + { + "name": "y", + "nativeSrc": "58018:1:21", + "nodeType": "YulIdentifier", + "src": "58018:1:21" + }, + { + "arguments": [ + { + "name": "product", + "nativeSrc": "58025:7:21", + "nodeType": "YulIdentifier", + "src": "58025:7:21" + }, + { + "name": "x", + "nativeSrc": "58034:1:21", + "nodeType": "YulIdentifier", + "src": "58034:1:21" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "58021:3:21", + "nodeType": "YulIdentifier", + "src": "58021:3:21" + }, + "nativeSrc": "58021:15:21", + "nodeType": "YulFunctionCall", + "src": "58021:15:21" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "58015:2:21", + "nodeType": "YulIdentifier", + "src": "58015:2:21" + }, + "nativeSrc": "58015:22:21", + "nodeType": "YulFunctionCall", + "src": "58015:22:21" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "57968:2:21", + "nodeType": "YulIdentifier", + "src": "57968:2:21" + }, + "nativeSrc": "57968:83:21", + "nodeType": "YulFunctionCall", + "src": "57968:83:21" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "57948:6:21", + "nodeType": "YulIdentifier", + "src": "57948:6:21" + }, + "nativeSrc": "57948:113:21", + "nodeType": "YulFunctionCall", + "src": "57948:113:21" + }, + "nativeSrc": "57945:139:21", + "nodeType": "YulIf", + "src": "57945:139:21" + } + ] + }, + "name": "checked_mul_t_uint256", + "nativeSrc": "57681:410:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "57712:1:21", + "nodeType": "YulTypedName", + "src": "57712:1:21", + "type": "" + }, + { + "name": "y", + "nativeSrc": "57715:1:21", + "nodeType": "YulTypedName", + "src": "57715:1:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nativeSrc": "57721:7:21", + "nodeType": "YulTypedName", + "src": "57721:7:21", + "type": "" + } + ], + "src": "57681:410:21" + }, + { + "body": { + "nativeSrc": "58189:285:21", + "nodeType": "YulBlock", + "src": "58189:285:21", + "statements": [ + { + "nativeSrc": "58199:53:21", + "nodeType": "YulVariableDeclaration", + "src": "58199:53:21", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "58246:5:21", + "nodeType": "YulIdentifier", + "src": "58246:5:21" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nativeSrc": "58213:32:21", + "nodeType": "YulIdentifier", + "src": "58213:32:21" + }, + "nativeSrc": "58213:39:21", + "nodeType": "YulFunctionCall", + "src": "58213:39:21" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "58203:6:21", + "nodeType": "YulTypedName", + "src": "58203:6:21", + "type": "" + } + ] + }, + { + "nativeSrc": "58261:78:21", + "nodeType": "YulAssignment", + "src": "58261:78:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "58327:3:21", + "nodeType": "YulIdentifier", + "src": "58327:3:21" + }, + { + "name": "length", + "nativeSrc": "58332:6:21", + "nodeType": "YulIdentifier", + "src": "58332:6:21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nativeSrc": "58268:58:21", + "nodeType": "YulIdentifier", + "src": "58268:58:21" + }, + "nativeSrc": "58268:71:21", + "nodeType": "YulFunctionCall", + "src": "58268:71:21" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "58261:3:21", + "nodeType": "YulIdentifier", + "src": "58261:3:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "58387:5:21", + "nodeType": "YulIdentifier", + "src": "58387:5:21" + }, + { + "kind": "number", + "nativeSrc": "58394:4:21", + "nodeType": "YulLiteral", + "src": "58394:4:21", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58383:3:21", + "nodeType": "YulIdentifier", + "src": "58383:3:21" + }, + "nativeSrc": "58383:16:21", + "nodeType": "YulFunctionCall", + "src": "58383:16:21" + }, + { + "name": "pos", + "nativeSrc": "58401:3:21", + "nodeType": "YulIdentifier", + "src": "58401:3:21" + }, + { + "name": "length", + "nativeSrc": "58406:6:21", + "nodeType": "YulIdentifier", + "src": "58406:6:21" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "58348:34:21", + "nodeType": "YulIdentifier", + "src": "58348:34:21" + }, + "nativeSrc": "58348:65:21", + "nodeType": "YulFunctionCall", + "src": "58348:65:21" + }, + "nativeSrc": "58348:65:21", + "nodeType": "YulExpressionStatement", + "src": "58348:65:21" + }, + { + "nativeSrc": "58422:46:21", + "nodeType": "YulAssignment", + "src": "58422:46:21", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "58433:3:21", + "nodeType": "YulIdentifier", + "src": "58433:3:21" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "58460:6:21", + "nodeType": "YulIdentifier", + "src": "58460:6:21" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nativeSrc": "58438:21:21", + "nodeType": "YulIdentifier", + "src": "58438:21:21" + }, + "nativeSrc": "58438:29:21", + "nodeType": "YulFunctionCall", + "src": "58438:29:21" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58429:3:21", + "nodeType": "YulIdentifier", + "src": "58429:3:21" + }, + "nativeSrc": "58429:39:21", + "nodeType": "YulFunctionCall", + "src": "58429:39:21" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "58422:3:21", + "nodeType": "YulIdentifier", + "src": "58422:3:21" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "58097:377:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "58170:5:21", + "nodeType": "YulTypedName", + "src": "58170:5:21", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "58177:3:21", + "nodeType": "YulTypedName", + "src": "58177:3:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "58185:3:21", + "nodeType": "YulTypedName", + "src": "58185:3:21", + "type": "" + } + ], + "src": "58097:377:21" + }, + { + "body": { + "nativeSrc": "58598:195:21", + "nodeType": "YulBlock", + "src": "58598:195:21", + "statements": [ + { + "nativeSrc": "58608:26:21", + "nodeType": "YulAssignment", + "src": "58608:26:21", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "58620:9:21", + "nodeType": "YulIdentifier", + "src": "58620:9:21" + }, + { + "kind": "number", + "nativeSrc": "58631:2:21", + "nodeType": "YulLiteral", + "src": "58631:2:21", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58616:3:21", + "nodeType": "YulIdentifier", + "src": "58616:3:21" + }, + "nativeSrc": "58616:18:21", + "nodeType": "YulFunctionCall", + "src": "58616:18:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "58608:4:21", + "nodeType": "YulIdentifier", + "src": "58608:4:21" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "58655:9:21", + "nodeType": "YulIdentifier", + "src": "58655:9:21" + }, + { + "kind": "number", + "nativeSrc": "58666:1:21", + "nodeType": "YulLiteral", + "src": "58666:1:21", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "58651:3:21", + "nodeType": "YulIdentifier", + "src": "58651:3:21" + }, + "nativeSrc": "58651:17:21", + "nodeType": "YulFunctionCall", + "src": "58651:17:21" + }, + { + "arguments": [ + { + "name": "tail", + "nativeSrc": "58674:4:21", + "nodeType": "YulIdentifier", + "src": "58674:4:21" + }, + { + "name": "headStart", + "nativeSrc": "58680:9:21", + "nodeType": "YulIdentifier", + "src": "58680:9:21" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "58670:3:21", + "nodeType": "YulIdentifier", + "src": "58670:3:21" + }, + "nativeSrc": "58670:20:21", + "nodeType": "YulFunctionCall", + "src": "58670:20:21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "58644:6:21", + "nodeType": "YulIdentifier", + "src": "58644:6:21" + }, + "nativeSrc": "58644:47:21", + "nodeType": "YulFunctionCall", + "src": "58644:47:21" + }, + "nativeSrc": "58644:47:21", + "nodeType": "YulExpressionStatement", + "src": "58644:47:21" + }, + { + "nativeSrc": "58700:86:21", + "nodeType": "YulAssignment", + "src": "58700:86:21", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "58772:6:21", + "nodeType": "YulIdentifier", + "src": "58772:6:21" + }, + { + "name": "tail", + "nativeSrc": "58781:4:21", + "nodeType": "YulIdentifier", + "src": "58781:4:21" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nativeSrc": "58708:63:21", + "nodeType": "YulIdentifier", + "src": "58708:63:21" + }, + "nativeSrc": "58708:78:21", + "nodeType": "YulFunctionCall", + "src": "58708:78:21" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "58700:4:21", + "nodeType": "YulIdentifier", + "src": "58700:4:21" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "58480:313:21", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "58570:9:21", + "nodeType": "YulTypedName", + "src": "58570:9:21", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "58582:6:21", + "nodeType": "YulTypedName", + "src": "58582:6:21", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "58593:4:21", + "nodeType": "YulTypedName", + "src": "58593:4:21", + "type": "" + } + ], + "src": "58480:313:21" + } + ] + }, + "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 cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\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 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_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\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_with_cleanup(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 function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\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 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_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\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$_IEVMVerifier_$798_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IEVMVerifier_$798_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IEVMVerifier_$798__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function convert_t_contract$_ENS_$1030_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ENS_$1030_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_ENS_$1030__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_ENS_$1030_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\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_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\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 mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function convert_t_contract$_INameWrapper_$2401_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_INameWrapper_$2401_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_INameWrapper_$2401__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_INameWrapper_$2401_to_t_address_fromStack(value0, add(headStart, 0))\n\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 abi_decode_tuple_t_bytes_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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_bytes_calldata_ptrt_address(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\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 // 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 function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, value1, tail)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr_fromMemory(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_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack_library(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack_library(value0, tail)\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28(memPtr) {\n\n mstore(add(memPtr, 0), \"Label is not a number\")\n\n }\n\n function abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_39997b2df55456a95c787636d3678bbf5a3385ea81a69f9163f338ec5c59fc28_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_contract$_IEVMVerifier_$798(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function validator_revert_t_contract$_IEVMVerifier_$798(value) {\n if iszero(eq(value, cleanup_t_contract$_IEVMVerifier_$798(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_contract$_IEVMVerifier_$798(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_contract$_IEVMVerifier_$798(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function array_allocation_size_t_array$_t_bytes32_$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 validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes32[]\n function abi_decode_available_length_t_array$_t_bytes32_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes32_$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 elementPos := src\n\n mstore(dst, abi_decode_t_bytes32(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes32[]\n function abi_decode_t_array$_t_bytes32_$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_bytes32_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_contract$_IEVMVerifier_$798t_address_payablet_array$_t_bytes32_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_bytes4t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_IEVMVerifier_$798(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable(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_array$_t_bytes32_$dyn_memory_ptr(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_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value5 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_bytes32_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(value0, pos) -> updatedPos {\n abi_encode_t_bytes32_to_t_bytes32(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bytes32[] -> bytes32[]\n function abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_bytes32_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_bytes32_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_bytes32_$dyn_memory_ptr(srcPtr)\n }\n end := pos\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_fromStack(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_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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_with_cleanup(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_fromStack(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_fromStack(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_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_uint256__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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n // bytes[]\n function abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(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 := mload(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_fromMemory(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_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1, tail)\n\n }\n\n function store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a(memPtr) {\n\n mstore(add(memPtr, 0), \"param data too short\")\n\n }\n\n function abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_dbefb2482f8126b4642518459e79e2d4ae2f793dc482f41846265a2dadeb223a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a() {\n revert(0, 0)\n }\n\n function revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c() {\n revert(0, 0)\n }\n\n function calldata_array_index_range_access_t_bytes_calldata_ptr(offset, length, startIndex, endIndex) -> offsetOut, lengthOut {\n if gt(startIndex, endIndex) { revert_error_7678404c0552a58cf14944d1a786cf4c81aab3563e2735cb332aee47bbb57c4a() }\n if gt(endIndex, length) { revert_error_46e3e63c93837e9efa638abb3b4e76ced8c11259a873f1381a0abdf6ae6a823c() }\n offsetOut := add(offset, mul(startIndex, 1))\n lengthOut := sub(endIndex, startIndex)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f(memPtr) {\n\n mstore(add(memPtr, 0), \"Too many subdomain levels\")\n\n }\n\n function abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_39cdcce0a10c24a850cec0dce47f6a34cc89700db3d0366e39478eabf04dac6f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function array_dataslot_t_bytes_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function convert_bytes_to_fixedbytes_from_t_bytes_calldata_ptr_to_t_bytes4(array, len) -> value {\n\n let length := array_length_t_bytes_calldata_ptr(array, len)\n let dataArea := array\n\n value := cleanup_t_bytes4(calldataload(dataArea))\n\n if lt(length, 4) {\n value := and(\n value,\n shift_left_dynamic(\n mul(8, sub(4, length)),\n 0xffffffff00000000000000000000000000000000000000000000000000000000\n )\n )\n }\n\n }\n\n function store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92(memPtr) {\n\n mstore(add(memPtr, 0), \"invalid selector\")\n\n }\n\n function abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_08c3a6be97f4652a768cb4743e456770198d688a966f5e7ebd882c354bc4dd92_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set target add\")\n\n mstore(add(memPtr, 32), \"ress slot for this node\")\n\n }\n\n function abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 55)\n store_literal_in_memory_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_be4064e8b00b2a5ddf17ca01d159112d03d9a6afc23b2942b67f762ebdf59b3f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 }\n\n function store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set resolver f\")\n\n mstore(add(memPtr, 32), \"or this node\")\n\n }\n\n function abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_08aaaa9163b7567854dc72052cdbe94f62ef2ce88d334c6410a52d7a4fd988d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized to set target for\")\n\n mstore(add(memPtr, 32), \" this node\")\n\n }\n\n function abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f4aeefc8735062c722cad9987e3ad36df74e05a09a1025ec1f7deebed3f77838_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_calldata_ptr_t_address__to_t_bytes_memory_ptr_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value0, value1, tail)\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 32))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_allocation_size_t_array$_t_string_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_string_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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_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_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n // string[]\n function abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_string_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 := mload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_string_memory_ptr_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // string[]\n function abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value2, tail)\n\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_contract$_IEVMVerifier_$798_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_address_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes4_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_contract$_IEVMVerifier_$798_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes32_$dyn_memory_ptr_to_t_array$_t_bytes32_$dyn_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value3, tail)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value4, add(headStart, 128))\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value5, tail)\n\n }\n\n function array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[] -> string[]\n function abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_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_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__to_t_address_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_bytes_memory_ptr_t_bytes4_t_bytes_memory_ptr__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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$dyn_memory_ptr_to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value4, tail)\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n", + "id": 21, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "3317": [ + { + "length": 32, + "start": 1620 + }, + { + "length": 32, + "start": 4978 + } + ], + "3320": [ + { + "length": 32, + "start": 1656 + }, + { + "length": 32, + "start": 5070 + } + ], + "3323": [ + { + "length": 32, + "start": 3045 + }, + { + "length": 32, + "start": 5226 + }, + { + "length": 32, + "start": 5309 + } + ], + "3325": [ + { + "length": 32, + "start": 4021 + }, + { + "length": 32, + "start": 5524 + } + ] + }, + "linkReferences": { + "contracts/LabelUtils.sol": { + "LabelUtils": [ + { + "length": 20, + "start": 1179 + }, + { + "length": 20, + "start": 1308 + }, + { + "length": 20, + "start": 1491 + }, + { + "length": 20, + "start": 2508 + } + ] + } + }, + "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073__$9c99182377933a0292ee16286dad4ecc22$__6394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073__$9c99182377933a0292ee16286dad4ecc22$__63e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73__$9c99182377933a0292ee16286dad4ecc22$__6308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373__$9c99182377933a0292ee16286dad4ecc22$__634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c63430008190033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9061B923 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xD358DF77 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD358DF77 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0xD6AE3CD5 EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xF00EEBF4 EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0xF470901A EQ PUSH2 0x305 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x9061B923 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xA8E5FBC0 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xAC177C37 EQ PUSH2 0x263 JUMPI DUP1 PUSH4 0xAC8A4A5D EQ PUSH2 0x27F JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x2B7AC3F3 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x2B7AC3F3 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x3F15457F EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5BDAA916 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x6D74E86E EQ PUSH2 0x1F7 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x15F64386 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x1A33DDAE EQ PUSH2 0x15B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x114 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1DA4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x121 SWAP2 SWAP1 PUSH2 0x1DEC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST PUSH2 0x47F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x152 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x175 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x170 SWAP2 SWAP1 PUSH2 0x2079 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x182 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x193 PUSH2 0x652 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2159 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B1 PUSH2 0x676 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BE SWAP2 SWAP1 PUSH2 0x2195 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x21B0 JUMP JUMPDEST PUSH2 0x85F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x24D PUSH2 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x25A SWAP2 SWAP1 PUSH2 0x22F3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x27D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x278 SWAP2 SWAP1 PUSH2 0x233A JUMP JUMPDEST PUSH2 0xC07 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x299 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x294 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xD5C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2B5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2BF PUSH2 0xFB3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CC SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2EF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EA SWAP2 SWAP1 PUSH2 0x23C6 JUMP JUMPDEST PUSH2 0xFD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FC SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x31F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31A SWAP2 SWAP1 PUSH2 0x2507 JUMP JUMPDEST PUSH2 0x103E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x32C SWAP2 SWAP1 PUSH2 0x22B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x9061B92300000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x400 JUMPI POP PUSH32 0x15F6438600000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x468 JUMPI POP PUSH32 0xF00EEBF400000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ JUMPDEST DUP1 PUSH2 0x478 JUMPI POP PUSH2 0x477 DUP3 PUSH2 0x109C JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x48D DUP4 PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x0 PUSH4 0x94BC2DB6 DUP6 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4D2 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x4EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x2651 JUMP JUMPDEST SWAP1 POP PUSH20 0x0 PUSH4 0xE5C4CF73 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x551 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x2721 JUMP JUMPDEST PUSH2 0x5D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5C8 SWAP1 PUSH2 0x27AB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH20 0x0 PUSH4 0x8DEA91D DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP2 SWAP1 PUSH2 0x26D3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x625 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x649 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP6 DUP6 DUP2 ADD SWAP1 PUSH2 0x6AD SWAP2 SWAP1 PUSH2 0x1F4D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 DUP10 DUP10 DUP2 ADD SWAP1 PUSH2 0x6C7 SWAP2 SWAP1 PUSH2 0x2978 JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC51CA02A DUP8 DUP8 DUP8 DUP13 PUSH2 0x6FD PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71D SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2C23 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x73A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x763 SWAP2 SWAP1 PUSH2 0x2D40 JUMP JUMPDEST SWAP1 POP DUP5 MLOAD DUP2 MLOAD EQ PUSH2 0x7AF JUMPI DUP1 MLOAD DUP6 MLOAD PUSH1 0x40 MLOAD PUSH32 0x2918942500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A6 SWAP3 SWAP2 SWAP1 PUSH2 0x2D89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x84A DUP5 DUP4 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x7C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x126F SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD RETURN JUMPDEST PUSH1 0x0 PUSH3 0x15180 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP4 DUP4 SWAP1 POP LT ISZERO PUSH2 0x8A8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89F SWAP1 PUSH2 0x2E35 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x4 SWAP1 DUP1 SWAP3 PUSH2 0x8BD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E5F JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x8CA SWAP2 SWAP1 PUSH2 0x2E9A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP DUP1 ISZERO PUSH2 0x9C8 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP PUSH2 0x9BE DUP2 DUP8 DUP8 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x12BB JUMP JUMPDEST SWAP4 POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x3 PUSH20 0x0 PUSH4 0x4062ACE3 DUP10 DUP10 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA03 SWAP3 SWAP2 SWAP1 PUSH2 0x25BD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0xA20 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA44 SWAP2 SWAP1 PUSH2 0x27E0 JUMP JUMPDEST GT ISZERO PUSH2 0xA85 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA7C SWAP1 PUSH2 0x2F13 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAD6 DUP9 DUP9 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x0 DUP7 DUP7 SWAP1 PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0x2F4B JUMP JUMPDEST SWAP1 POP PUSH4 0x3B3B57DE PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SUB PUSH2 0xBA0 JUMPI PUSH1 0x0 PUSH2 0xB42 DUP11 DUP11 PUSH2 0x496 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xB93 DUP3 DUP3 DUP7 PUSH2 0x1348 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0xBDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD2 SWAP1 PUSH2 0x2FF6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC56 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xC62 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xCA1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC98 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP3 PUSH1 0x2 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH32 0xD24DBAC998CB2D343FB2B7FE7C54B44DE845182FF5C7B461EF274AFEE047B5E7 DUP2 DUP5 PUSH1 0x40 MLOAD PUSH2 0xD4D SWAP3 SWAP2 SWAP1 PUSH2 0x30A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAB DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xDB7 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xDF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDED SWAP1 PUSH2 0x3143 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x704DFB2F4B8F24190956226460D0667A92B988DE5055430D52E6B0315922E2C DUP2 DUP4 PUSH1 0x40 MLOAD PUSH2 0xE79 SWAP3 SWAP2 SWAP1 PUSH2 0x1FF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xED6 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH2 0x47F JUMP JUMPDEST POP SWAP1 POP PUSH2 0xEE2 DUP2 PUSH2 0x13C9 JUMP JUMPDEST PUSH2 0xF21 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF18 SWAP1 PUSH2 0x31D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x88781081CC340609705AF0F96BF3BA64EA267873444E91725BD072F2AF0F44D8 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFA5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3222 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x102A DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP PUSH1 0x0 PUSH2 0x1106 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1036 DUP2 PUSH2 0x1592 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1071 SWAP2 SWAP1 PUSH2 0x3298 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1084 SWAP2 SWAP1 PUSH2 0x32C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x111E DUP5 DUP7 PUSH2 0x15F1 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0xFF AND SWAP1 POP PUSH1 0x0 DUP1 SHL SWAP3 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 PUSH2 0x1155 PUSH1 0x1 DUP7 PUSH2 0x1144 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST DUP4 DUP9 PUSH2 0x161C SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH2 0x1178 DUP7 PUSH1 0x1 DUP5 DUP9 PUSH2 0x1169 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1173 SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST PUSH2 0x1106 JUMP JUMPDEST DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1193 SWAP3 SWAP2 SWAP1 PUSH2 0x3364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP4 POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1250 JUMPI DUP4 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP4 POP SWAP4 POP POP POP PUSH2 0x1268 JUMP JUMPDEST POP PUSH2 0x1266 JUMP JUMPDEST PUSH1 0x0 DUP1 SHL PUSH1 0x0 SWAP3 POP SWAP3 POP POP PUSH2 0x1268 JUMP JUMPDEST POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x12B3 DUP4 DUP4 PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416464726573733A206C6F772D6C6576656C2063616C6C206661696C65640000 DUP2 MSTORE POP PUSH2 0x1648 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12E5 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS STATICCALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1320 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 ISZERO PUSH2 0x133A JUMPI DUP1 SWAP3 POP POP POP PUSH2 0x1342 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x13C2 PUSH4 0xF470901A PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x13B3 DUP8 PUSH2 0x13A5 DUP9 PUSH2 0x1397 PUSH32 0x0 DUP11 PUSH2 0x1715 JUMP JUMPDEST PUSH2 0x1824 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1905 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x1986 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x2571BE3 DUP5 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1425 SWAP2 SWAP1 PUSH2 0x33E3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1442 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1466 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x155B JUMPI PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6352211E DUP5 PUSH1 0x0 SHR PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1517 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1534 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1558 SWAP2 SWAP1 PUSH2 0x3413 JUMP JUMPDEST SWAP1 POP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x0 DUP2 PUSH1 0x40 MLOAD PUSH32 0xE0A0507100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E8 SWAP3 SWAP2 SWAP1 PUSH2 0x3440 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1606 JUMPI PUSH2 0x1605 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 ADD ADD MLOAD PUSH1 0xF8 SHR PUSH1 0xF8 SHL PUSH1 0xF8 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD DUP3 DUP5 PUSH2 0x162C SWAP2 SWAP1 PUSH2 0x330F JUMP JUMPDEST GT ISZERO PUSH2 0x1637 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP4 PUSH1 0x20 DUP7 ADD ADD KECCAK256 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x168D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1684 SWAP1 PUSH2 0x34DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x16B6 SWAP2 SWAP1 PUSH2 0x33CC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x16F3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16F8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1709 DUP8 DUP4 DUP4 DUP8 PUSH2 0x1B11 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x171D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x173A JUMPI PUSH2 0x1739 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1768 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1788 JUMPI PUSH2 0x1787 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x17BB JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x17A6 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x182C PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD SWAP1 POP PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x184F JUMPI POP PUSH1 0x20 DUP6 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x1860 JUMPI PUSH2 0x185F DUP6 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP2 ADD DUP3 MSTORE PUSH1 0x20 DUP6 PUSH1 0x40 ADD MLOAD MLOAD GT ISZERO PUSH2 0x18B2 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH32 0x128E700800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18A9 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x60 ADD DUP2 DUP2 MSTORE POP POP PUSH2 0x18C8 DUP6 PUSH1 0x0 PUSH2 0x1B86 JUMP JUMPDEST PUSH2 0x18FA DUP6 PUSH2 0x18F5 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x18E1 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x190D PUSH2 0x1CDD JUMP JUMPDEST PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT PUSH2 0x194B JUMPI PUSH1 0x40 MLOAD PUSH32 0xB00FD63800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x197D DUP4 PUSH2 0x1978 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1964 SWAP2 SWAP1 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1C2D JUMP JUMPDEST PUSH2 0x1B86 JUMP JUMPDEST DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x40 ADD MLOAD MLOAD GT DUP1 ISZERO PUSH2 0x199F JUMPI POP PUSH1 0x20 DUP4 PUSH1 0x60 ADD MLOAD LT JUMPDEST ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF DUP4 PUSH1 0xFF PUSH2 0x1B86 JUMP JUMPDEST JUMPDEST ADDRESS DUP4 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB50F2FBC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A00 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1A29 SWAP2 SWAP1 PUSH2 0x367D JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP6 PUSH1 0x40 ADD MLOAD DUP7 PUSH1 0x80 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1A4A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH4 0xEA9CD3BF PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH4 0x5BDAA916 PUSH1 0xE0 SHL DUP7 PUSH1 0x0 ADD MLOAD DUP8 PUSH1 0x20 ADD MLOAD DUP9 PUSH1 0x40 ADD MLOAD DUP10 PUSH1 0x80 ADD MLOAD DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AC2 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x371A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x556F183000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B08 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x38A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1B73 JUMPI PUSH1 0x0 DUP4 MLOAD SUB PUSH2 0x1B6B JUMPI PUSH2 0x1B2B DUP6 PUSH2 0x1C6A JUMP JUMPDEST PUSH2 0x1B6A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B61 SWAP1 PUSH2 0x395B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST DUP3 SWAP1 POP PUSH2 0x1B7E JUMP JUMPDEST PUSH2 0x1B7D DUP4 DUP4 PUSH2 0x1C8D JUMP JUMPDEST JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH1 0x40 ADD MLOAD MLOAD PUSH2 0x1B9A SWAP2 SWAP1 PUSH2 0x397B JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x60 ADD DUP1 MLOAD DUP1 SWAP2 SWAP1 PUSH2 0x1BAE SWAP1 PUSH2 0x39AF JUMP JUMPDEST DUP2 MSTORE POP PUSH1 0x8 PUSH2 0x1BBD SWAP2 SWAP1 PUSH2 0x39F7 JUMP JUMPDEST DUP3 PUSH1 0xF8 SHL PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SHR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD OR DUP4 PUSH1 0x40 ADD MLOAD DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x1C1C JUMPI PUSH2 0x1C1B PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x80 ADD MLOAD SWAP1 POP DUP1 MLOAD SWAP2 POP PUSH1 0x1 DUP3 ADD DUP2 MSTORE DUP3 DUP2 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1C58 JUMPI PUSH2 0x1C57 PUSH2 0x3254 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD GT ISZERO PUSH2 0x1CA0 JUMPI DUP2 MLOAD DUP1 DUP4 PUSH1 0x20 ADD REVERT JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD4 SWAP2 SWAP1 PUSH2 0x3A72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D81 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP2 EQ PUSH2 0x1D8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1D9E DUP2 PUSH2 0x1D78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DB9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1DC8 DUP5 DUP3 DUP6 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DE6 DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E01 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1DDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP 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 0x1E5A DUP3 PUSH2 0x1E11 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1E79 JUMPI PUSH2 0x1E78 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E8C PUSH2 0x1D38 JUMP JUMPDEST SWAP1 POP PUSH2 0x1E98 DUP3 DUP3 PUSH2 0x1E51 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1EB8 JUMPI PUSH2 0x1EB7 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x1EC1 DUP3 PUSH2 0x1E11 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 0x1EF0 PUSH2 0x1EEB DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1F0C JUMPI PUSH2 0x1F0B PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x1F17 DUP5 DUP3 DUP6 PUSH2 0x1ECE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1F34 JUMPI PUSH2 0x1F33 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1F44 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1EDD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F63 JUMPI PUSH2 0x1F62 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F81 JUMPI PUSH2 0x1F80 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x1F8D DUP5 DUP3 DUP6 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA9 DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FDA DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FEA DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2005 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FA0 JUMP JUMPDEST PUSH2 0x2012 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2039 JUMPI PUSH2 0x2038 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2056 JUMPI PUSH2 0x2055 PUSH2 0x2019 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x2072 JUMPI PUSH2 0x2071 PUSH2 0x201E JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2090 JUMPI PUSH2 0x208F PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20AE JUMPI PUSH2 0x20AD PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x20BA DUP6 DUP3 DUP7 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x20D9 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20F4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x211F PUSH2 0x211A PUSH2 0x2115 DUP5 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x20FA JUMP JUMPDEST PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2131 DUP3 PUSH2 0x2104 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2143 DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2153 DUP2 PUSH2 0x2138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x216E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x214A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x217F DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x218F DUP2 PUSH2 0x2174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x21AA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2186 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x21CA JUMPI PUSH2 0x21C9 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21E8 JUMPI PUSH2 0x21E7 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x21F4 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2217 JUMPI PUSH2 0x2216 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2223 DUP8 DUP3 DUP9 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 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 0x226B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2250 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2282 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x228C DUP2 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x229C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x22A5 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22CA DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x22DD DUP3 PUSH2 0x2126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x22ED DUP2 PUSH2 0x22D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2308 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x22E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2317 DUP2 PUSH2 0x20C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x2322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2334 DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2353 JUMPI PUSH2 0x2352 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2371 JUMPI PUSH2 0x2370 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x237D DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x2390 DUP7 DUP3 DUP8 ADD PUSH2 0x2325 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x23A3 DUP2 PUSH2 0x1FCF JUMP JUMPDEST DUP2 EQ PUSH2 0x23AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x23C0 DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x23DF JUMPI PUSH2 0x23DE PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x23FD JUMPI PUSH2 0x23FC PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2409 DUP7 DUP3 DUP8 ADD PUSH2 0x2023 JUMP JUMPDEST SWAP4 POP SWAP4 POP POP PUSH1 0x20 PUSH2 0x241C DUP7 DUP3 DUP8 ADD PUSH2 0x23B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2441 JUMPI PUSH2 0x2440 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2465 PUSH2 0x2460 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2488 JUMPI PUSH2 0x2487 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x24CF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x24AD JUMPI PUSH2 0x24AC PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x24BA DUP10 DUP3 PUSH2 0x1F1F JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x248A JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24EE JUMPI PUSH2 0x24ED PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x24FE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2452 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x251E JUMPI PUSH2 0x251D PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x253C JUMPI PUSH2 0x253B PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2548 DUP6 DUP3 DUP7 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2569 JUMPI PUSH2 0x2568 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2575 DUP6 DUP3 DUP7 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x259C DUP4 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x25A9 DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x25B2 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x25D8 DUP2 DUP5 DUP7 PUSH2 0x2590 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F4 PUSH2 0x25EF DUP5 PUSH2 0x1E9D JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2610 JUMPI PUSH2 0x260F PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x261B DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2638 JUMPI PUSH2 0x2637 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2648 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2667 JUMPI PUSH2 0x2666 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2685 JUMPI PUSH2 0x2684 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2691 DUP5 DUP3 DUP6 ADD PUSH2 0x2623 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26A5 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x26AF DUP2 DUP6 PUSH2 0x257F JUMP JUMPDEST SWAP4 POP PUSH2 0x26BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x26C8 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x26ED DUP2 DUP5 PUSH2 0x269A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x26FE DUP2 PUSH2 0x1DD1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2709 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x271B DUP2 PUSH2 0x26F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2737 JUMPI PUSH2 0x2736 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2745 DUP5 DUP3 DUP6 ADD PUSH2 0x270C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4C6162656C206973206E6F742061206E756D6265720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2795 PUSH1 0x15 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x27A0 DUP3 PUSH2 0x275F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x27C4 DUP2 PUSH2 0x2788 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27DA DUP2 PUSH2 0x230E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27F6 JUMPI PUSH2 0x27F5 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2804 DUP5 DUP3 DUP6 ADD PUSH2 0x27CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2818 DUP3 PUSH2 0x1FCF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2828 DUP2 PUSH2 0x280D JUMP JUMPDEST DUP2 EQ PUSH2 0x2833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2845 DUP2 PUSH2 0x281F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2856 DUP3 PUSH2 0x1FAF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2866 DUP2 PUSH2 0x284B JUMP JUMPDEST DUP2 EQ PUSH2 0x2871 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2883 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x28A4 JUMPI PUSH2 0x28A3 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28BE DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP2 EQ PUSH2 0x28C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28DB DUP2 PUSH2 0x28B5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F4 PUSH2 0x28EF DUP5 PUSH2 0x2889 JUMP JUMPDEST PUSH2 0x1E82 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 0x2917 JUMPI PUSH2 0x2916 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2940 JUMPI DUP1 PUSH2 0x292C DUP9 DUP3 PUSH2 0x28CC JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2919 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x295F JUMPI PUSH2 0x295E PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x296F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x28E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2995 JUMPI PUSH2 0x2994 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x29A3 DUP10 DUP3 DUP11 ADD PUSH2 0x2836 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x29B4 DUP10 DUP3 DUP11 ADD PUSH2 0x2874 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D5 JUMPI PUSH2 0x29D4 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x29E1 DUP10 DUP3 DUP11 ADD PUSH2 0x294A JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A02 JUMPI PUSH2 0x2A01 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A0E DUP10 DUP3 DUP11 ADD PUSH2 0x24D9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2A1F DUP10 DUP3 DUP11 ADD PUSH2 0x1D8F JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2A40 JUMPI PUSH2 0x2A3F PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2A4C DUP10 DUP3 DUP11 ADD PUSH2 0x1F1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 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 PUSH2 0x2A8E DUP2 PUSH2 0x1F96 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA0 DUP4 DUP4 PUSH2 0x2A85 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC4 DUP3 PUSH2 0x2A59 JUMP JUMPDEST PUSH2 0x2ACE DUP2 DUP6 PUSH2 0x2A64 JUMP JUMPDEST SWAP4 POP PUSH2 0x2AD9 DUP4 PUSH2 0x2A75 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2B0A JUMPI DUP2 MLOAD PUSH2 0x2AF1 DUP9 DUP3 PUSH2 0x2A94 JUMP JUMPDEST SWAP8 POP PUSH2 0x2AFC DUP4 PUSH2 0x2AAC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2ADD JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5F DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x2B69 DUP2 DUP6 PUSH2 0x2B43 JUMP JUMPDEST SWAP4 POP PUSH2 0x2B79 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x2B82 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B99 DUP4 DUP4 PUSH2 0x2B54 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 0x2BB9 DUP3 PUSH2 0x2B17 JUMP JUMPDEST PUSH2 0x2BC3 DUP2 DUP6 PUSH2 0x2B22 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2BD5 DUP6 PUSH2 0x2B33 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2C11 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2BF2 DUP6 DUP3 PUSH2 0x2B8D JUMP JUMPDEST SWAP5 POP PUSH2 0x2BFD DUP4 PUSH2 0x2BA1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2BD9 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2C38 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2C4A DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2C5E DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x2C72 DUP2 DUP6 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x2C81 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C9E PUSH2 0x2C99 DUP5 PUSH2 0x2426 JUMP JUMPDEST PUSH2 0x1E82 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 0x2CC1 JUMPI PUSH2 0x2CC0 PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D08 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CE6 JUMPI PUSH2 0x2CE5 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x2CF3 DUP10 DUP3 PUSH2 0x2623 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2CC3 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D27 JUMPI PUSH2 0x2D26 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x2D37 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2C8B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D56 JUMPI PUSH2 0x2D55 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D74 JUMPI PUSH2 0x2D73 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x2D80 DUP5 DUP3 DUP6 ADD PUSH2 0x2D12 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2D9E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x2DAB PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2DCC DUP2 DUP6 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x2DE0 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x706172616D206461746120746F6F2073686F7274000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E1F PUSH1 0x14 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2E2A DUP3 PUSH2 0x2DE9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E4E DUP2 PUSH2 0x2E12 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x2E73 JUMPI PUSH2 0x2E72 PUSH2 0x2E55 JUMP JUMPDEST JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x2E84 JUMPI PUSH2 0x2E83 PUSH2 0x2E5A JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP6 MUL DUP4 ADD SWAP2 POP DUP5 DUP7 SUB SWAP1 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2EB0 JUMPI PUSH2 0x2EAF PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2EBE DUP5 DUP3 DUP6 ADD PUSH2 0x28CC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x546F6F206D616E7920737562646F6D61696E206C6576656C7300000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EFD PUSH1 0x19 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2F08 DUP3 PUSH2 0x2EC7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F2C DUP2 PUSH2 0x2EF0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F57 DUP4 DUP4 PUSH2 0x2F33 JUMP JUMPDEST DUP3 PUSH2 0x2F62 DUP2 CALLDATALOAD PUSH2 0x1D4C JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP3 LT ISZERO PUSH2 0x2FA2 JUMPI PUSH2 0x2F9D PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 PUSH1 0x4 SUB PUSH1 0x8 MUL PUSH2 0x2F3E JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E76616C69642073656C6563746F7200000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FE0 PUSH1 0x10 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x2FEB DUP3 PUSH2 0x2FAA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x300F DUP2 PUSH2 0x2FD3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737320736C6F7420666F722074686973206E6F6465000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3072 PUSH1 0x37 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x307D DUP3 PUSH2 0x3016 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30A1 DUP2 PUSH2 0x3065 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x30BD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1FE1 JUMP JUMPDEST PUSH2 0x30CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x20D0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F20736574207265736F6C7665722066 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F722074686973206E6F64650000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x312D PUSH1 0x2C DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3138 DUP3 PUSH2 0x30D1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x315C DUP2 PUSH2 0x3120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420617574686F72697A656420746F207365742074617267657420666F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2074686973206E6F646500000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31BF PUSH1 0x2A DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x31CA DUP3 PUSH2 0x3163 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EE DUP2 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3201 DUP4 DUP6 PUSH2 0x223C JUMP JUMPDEST SWAP4 POP PUSH2 0x320E DUP4 DUP6 DUP5 PUSH2 0x1ECE JUMP JUMPDEST PUSH2 0x3217 DUP4 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x323D DUP2 DUP6 DUP8 PUSH2 0x31F5 JUMP JUMPDEST SWAP1 POP PUSH2 0x324C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3292 DUP2 PUSH2 0x285D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32AE JUMPI PUSH2 0x32AD PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32BC DUP5 DUP3 DUP6 ADD PUSH2 0x3283 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32DA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x331A DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3325 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x333D JUMPI PUSH2 0x333C PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x335E PUSH2 0x3359 DUP3 PUSH2 0x1F96 JUMP JUMPDEST PUSH2 0x3343 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3370 DUP3 DUP6 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x3380 DUP3 DUP5 PUSH2 0x334D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33A6 DUP3 PUSH2 0x2231 JUMP JUMPDEST PUSH2 0x33B0 DUP2 DUP6 PUSH2 0x3390 JUMP JUMPDEST SWAP4 POP PUSH2 0x33C0 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33D8 DUP3 DUP5 PUSH2 0x339B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x33F8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1FA0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x340D DUP2 PUSH2 0x239A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3429 JUMPI PUSH2 0x3428 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3437 DUP5 DUP3 DUP6 ADD PUSH2 0x33FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x3455 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x20D0 JUMP JUMPDEST PUSH2 0x3462 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1FE1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34C5 PUSH1 0x26 DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x34D0 DUP3 PUSH2 0x3469 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x34F4 DUP2 PUSH2 0x34B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3516 JUMPI PUSH2 0x3515 PUSH2 0x1E22 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 0x3542 JUMPI PUSH2 0x3541 PUSH2 0x1E22 JUMP JUMPDEST JUMPDEST PUSH2 0x354B DUP3 PUSH2 0x1E11 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356B PUSH2 0x3566 DUP5 PUSH2 0x3527 JUMP JUMPDEST PUSH2 0x1E82 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3587 JUMPI PUSH2 0x3586 PUSH2 0x1E0C JUMP JUMPDEST JUMPDEST PUSH2 0x3592 DUP5 DUP3 DUP6 PUSH2 0x224D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x35AF JUMPI PUSH2 0x35AE PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x35BF DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3558 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35DB PUSH2 0x35D6 DUP5 PUSH2 0x34FB JUMP JUMPDEST PUSH2 0x1E82 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 0x35FE JUMPI PUSH2 0x35FD PUSH2 0x201E JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3645 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3623 JUMPI PUSH2 0x3622 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x3630 DUP10 DUP3 PUSH2 0x359A JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3600 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3664 JUMPI PUSH2 0x3663 PUSH2 0x1E07 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x3674 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x35C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3693 JUMPI PUSH2 0x3692 PUSH2 0x1D42 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36B1 JUMPI PUSH2 0x36B0 PUSH2 0x1D47 JUMP JUMPDEST JUMPDEST PUSH2 0x36BD DUP5 DUP3 DUP6 ADD PUSH2 0x364F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x36DB PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x36ED DUP2 DUP6 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x3701 DUP2 DUP5 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x3714 DUP2 PUSH2 0x1D4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x372F PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x373C PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x374E DUP2 DUP8 PUSH2 0x2AB9 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x3762 DUP2 DUP7 PUSH2 0x2BAE JUMP JUMPDEST SWAP1 POP PUSH2 0x3771 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x3783 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP 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 PUSH2 0x37E3 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x37ED DUP2 DUP6 PUSH2 0x37C7 JUMP JUMPDEST SWAP4 POP PUSH2 0x37FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3806 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x381D DUP4 DUP4 PUSH2 0x37D8 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 0x383D DUP3 PUSH2 0x3790 JUMP JUMPDEST PUSH2 0x3847 DUP2 DUP6 PUSH2 0x379B JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x3859 DUP6 PUSH2 0x37AC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3895 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x3876 DUP6 DUP3 PUSH2 0x3811 JUMP JUMPDEST SWAP5 POP PUSH2 0x3881 DUP4 PUSH2 0x3825 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x385D JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x38BC PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x1FE1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38CE DUP2 DUP8 PUSH2 0x3832 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x38E2 DUP2 DUP7 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP PUSH2 0x38F1 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x370B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3903 DUP2 DUP5 PUSH2 0x2277 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3945 PUSH1 0x1D DUP4 PUSH2 0x274E JUMP JUMPDEST SWAP2 POP PUSH2 0x3950 DUP3 PUSH2 0x390F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3974 DUP2 PUSH2 0x3938 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3986 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3991 DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x39A9 JUMPI PUSH2 0x39A8 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x39BA DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x39EC JUMPI PUSH2 0x39EB PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A02 DUP3 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A0D DUP4 PUSH2 0x20C6 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x3A1B DUP2 PUSH2 0x20C6 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x3A32 JUMPI PUSH2 0x3A31 PUSH2 0x32E0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A44 DUP3 PUSH2 0x37BC JUMP JUMPDEST PUSH2 0x3A4E DUP2 DUP6 PUSH2 0x274E JUMP JUMPDEST SWAP4 POP PUSH2 0x3A5E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x224D JUMP JUMPDEST PUSH2 0x3A67 DUP2 PUSH2 0x1E11 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3A8C DUP2 DUP5 PUSH2 0x3A39 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP 0x25 SWAP14 PUSH30 0x2476CAC1E182A62CC9DDB39E660A13E8A7DA9CD96A986379F70EAB8E6473 PUSH16 0x6C634300081900330000000000000000 ", + "sourceMap": "1084:9781:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10383:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5676:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;8000:329;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1291:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1335:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;620:1099:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3590:170:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6751:1107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1365:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5041:378;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4445:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3954:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1412:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8544:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10162:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10383:359;10474:4;10524:35;10509:50;;;:11;:50;;;;:114;;;;10590:33;10575:48;;;:11;:48;;;;10509:114;:174;;;;10654:29;10639:44;;;:11;:44;;;;10509:174;:226;;;;10699:36;10723:11;10699:23;:36::i;:::-;10509:226;10490:245;;10383:359;;;:::o;5676:146::-;5749:12;5763:14;5796:19;5807:4;5813:1;5796:10;:19::i;:::-;5789:26;;;;5676:146;;;:::o;8000:329::-;8064:7;8083:23;8109:10;:28;8138:4;;8109:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8083:60;;8205:10;:19;8225:10;8205:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8197:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8279:10;:31;8311:10;8279:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8272:50;;;8000:329;;;;:::o;1291:38::-;;;:::o;1335:24::-;;;:::o;620:1099:0:-;744:12;768:18;800:8;;789:29;;;;;;;:::i;:::-;768:50;;842:21;877:12;903:25;942:24;980:15;1009:25;1075:9;;1047:127;;;;;;;:::i;:::-;828:346;;;;;;;;;;;;1185:21;1209:8;:25;;;1248:4;1266:8;1288:9;1311:5;1330:31;:29;:31::i;:::-;1209:162;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1185:186;;1403:8;:15;1386:6;:13;:32;1382:124;;1464:6;:13;1479:8;:15;1441:54;;;;;;;;;;;;:::i;:::-;;;;;;;;1382:124;1515:16;1534:104;1597:8;1607:6;1615:12;1574:54;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:4;1534:26;;;;:104;;;;:::i;:::-;1515:123;;1698:3;1692:10;1687:2;1682:3;1678:12;1671:32;3590:170:20;3693:7;1893:5;3716:37;;3590:170;:::o;6751:1107::-;6855:19;6909:1;6894:4;;:11;;:16;;6886:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6946:12;6972:4;;6977:1;6972:8;;;;;;;;;:::i;:::-;6961:31;;;;;;;:::i;:::-;6946:46;;7002:17;7047:1;7022:27;;:7;:13;7030:4;7022:13;;;;;;;;;;;;;;;;;;;;;:27;;;;7002:47;;7139:12;7135:146;;;7167:24;7194:17;:23;7212:4;7194:23;;;;;;;;;;;;;;;;;;;;;7167:50;;7238:32;7247:16;7265:4;;7238:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:8;:32::i;:::-;7231:39;;;;;;;7135:146;7372:1;7340:10;:22;7363:4;;7340:28;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;7332:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7417:14;7435:19;7446:4;;7435:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7452:1;7435:10;:19::i;:::-;7414:40;;;7465:15;7490:4;;7483:12;;;;;:::i;:::-;7465:30;;7522:27;;;7510:39;;;:8;:39;;;;7506:258;;7620:13;7636:18;7649:4;;7636:12;:18::i;:::-;7620:34;;7668:12;7683:15;:23;7699:6;7683:23;;;;;;;;;;;;;;;;7668:38;;7727:26;7733:5;7740:4;7746:6;7727:5;:26::i;:::-;7720:33;;;;;;;;;;7506:258;7825:26;;;;;;;;;;:::i;:::-;;;;;;;;6751:1107;;;;;;;:::o;1365:41::-;;;:::o;5041:378::-;5123:12;5141:15;5151:4;;5141:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;5122:34;;;5187:18;5200:4;5187:12;:18::i;:::-;5166:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;5296:14;5313:7;:13;5321:4;5313:13;;;;;;;;;;;;;;;;;;;;;5296:30;;5362:4;5336:15;:23;5352:6;5336:23;;;;;;;;;;;;;;;:30;;;;5381:31;5399:6;5407:4;5381:31;;;;;;;:::i;:::-;;;;;;;;5112:307;;5041:378;;;:::o;4445:375::-;4559:12;4577:15;4587:4;;4577:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;4558:34;;;4623:18;4636:4;4623:12;:18::i;:::-;4602:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;4747:12;4721:17;:23;4739:4;4721:23;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;4774:39;4794:4;4800:12;4774:39;;;;;;;:::i;:::-;;;;;;;;4548:272;4445:375;;;:::o;3954:303::-;4030:12;4048:15;4058:4;;4048:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15::i;:::-;4029:34;;;4094:18;4107:4;4094:12;:18::i;:::-;4073:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;4206:6;4190:7;:13;4198:4;4190:13;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4227:23;4237:4;;4243:6;4227:23;;;;;;;;:::i;:::-;;;;;;;;4019:238;3954:303;;;:::o;1412:34::-;;;:::o;8544:208::-;8642:19;8676:14;8694:19;8705:4;;8694:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8711:1;8694:10;:19::i;:::-;8673:40;;;8723:22;8738:6;8723:14;:22::i;:::-;8663:89;8544:208;;;;;:::o;10162:215::-;10266:12;10290;10316:6;10323:1;10316:9;;;;;;;;:::i;:::-;;;;;;;;10305:32;;;;;;;;;;;;:::i;:::-;10290:47;;10365:4;10354:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;10347:23;;;10162:215;;;;:::o;829:155:15:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;5828:626:20:-;5927:12;5941:14;5967:11;5981:22;5996:6;5981:4;:14;;:22;;;;:::i;:::-;5967:36;;;;6028:1;6020:10;;6013:17;;6050:1;6044:3;:7;6040:377;;;6067:13;6083:28;6104:1;6095:6;:10;;;;:::i;:::-;6107:3;6083:4;:11;;:28;;;;;:::i;:::-;6067:44;;6142:34;6153:4;6174:1;6168:3;6159:6;:12;;;;:::i;:::-;:16;;;;:::i;:::-;6142:10;:34::i;:::-;6125:51;;;;;;;;6224:4;6230:5;6207:29;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6197:40;;;;;;6190:47;;6280:1;6255:27;;:7;:13;6263:4;6255:13;;;;;;;;;;;;;;;;;;;;;:27;;;6251:94;;6310:4;6316:7;:13;6324:4;6316:13;;;;;;;;;;;;;;;;;;;;;6302:28;;;;;;;;6251:94;6053:302;6040:377;;;6391:1;6383:10;;6403:1;6375:31;;;;;;;6040:377;6426:21;5828:626;;;;;;:::o;3701:185:14:-;3776:12;3807:72;3829:6;3837:4;3843:1;3807:72;;;;;;;;;;;;;;;;;:21;:72::i;:::-;3800:79;;3701:185;;;;:::o;9380:440:20:-;9488:12;9513;9527:19;9550:16;:27;;9578:4;9550:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9512:71;;;;9597:7;9593:221;;;9627:6;9620:13;;;;;;9593:221;9782:6;9776:13;9769:4;9761:6;9757:17;9750:40;9380:440;;;;;:::o;9826:330::-;9940:12;9964:167;10100:26;;;9964:167;;;;;;;;;;;;:116;10072:7;9964:86;10045:4;9964:57;10004:8;10014:6;9964:39;:57::i;:::-;:80;;:86;;;;:::i;:::-;:107;;:116;;;;:::i;:::-;:135;;:167;;;;;:::i;:::-;9826:330;;;;;:::o;2081:260::-;2140:4;2156:13;2172:3;:9;;;2182:4;2172:15;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2156:31;;2218:11;2201:29;;:5;:29;;;2197:102;;2254:11;:19;;;2282:4;2274:13;;2254:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2246:42;;2197:102;2324:10;2315:19;;:5;:19;;;2308:26;;;2081:260;;;:::o;10748:115::-;10838:9;10849:6;10819:37;;;;;;;;;;;;:::i;:::-;;;;;;;;7616:147:8;7712:9;7746:4;7751:3;7746:9;;;;;;;;:::i;:::-;;;;;;;;;;7740:16;;7733:23;;7616:147;;;;:::o;409:274::-;526:11;573:4;:11;566:3;557:6;:12;;;;:::i;:::-;:27;;549:36;;;;;;663:3;654:6;649:2;643:4;639:13;635:26;625:42;618:49;;409:274;;;;;:::o;5165:446:14:-;5330:12;5387:5;5362:21;:30;;5354:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5446:12;5460:23;5487:6;:11;;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;;;;5165:446;;;;;;:::o;1825:469:1:-;1934:22;;:::i;:::-;1968:25;796:2;1996:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1968:55;;2033:24;837:2;2060:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2033:53;;2136:1;2126:8;2119:19;2202:1;2191:9;2184:20;2230:57;;;;;;;;2246:8;2230:57;;;;;;2256:6;2230:57;;;;;;2264:8;2230:57;;;;2274:1;2230:57;;;;2277:9;2230:57;;;2223:64;;;;1825:469;;;;:::o;2744:796::-;2858:22;;:::i;:::-;2892:25;2920:7;:16;;;2892:44;;2946:18;2967:8;:15;2946:36;;3009:1;2996:10;:14;:43;;;;;3037:2;3014:7;:20;;;:25;2996:43;2992:146;;;3097:30;3111:7;555:4;3097:13;:30::i;:::-;2992:146;3203:1;3191:10;3187:18;3177:8;3170:36;796:2;3263:7;:16;;;:23;:38;3259:105;;;796:2;3324:29;;;;;;;;;;;:::i;:::-;;;;;;;;3259:105;3396:1;3373:7;:20;;:24;;;;;3407:25;3421:7;3430:1;3407:13;:25::i;:::-;3442:67;3456:7;3465:43;3478:7;3498:8;3487:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;3465:12;:43::i;:::-;3442:13;:67::i;:::-;3526:7;3519:14;;;;2744:796;;;;:::o;4975:321::-;5081:22;;:::i;:::-;5143:2;5119:7;:20;;;:26;5115:80;;5168:16;;;;;;;;;;;;;;5115:80;5204:61;5218:7;5227:37;5240:7;5260:2;5249:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;5227:12;:37::i;:::-;5204:13;:61::i;:::-;5282:7;5275:14;;4975:321;;;;:::o;8650:871::-;8827:1;8801:7;:16;;;:23;:27;:56;;;;;8855:2;8832:7;:20;;;:25;8801:56;8797:155;;;8911:30;8925:7;555:4;8911:13;:30::i;:::-;8797:155;9005:4;9024:7;:16;;;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9146:7;:14;;;9162:7;:16;;;9180:7;:17;;;9068:144;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9226:47;;;9315:7;:16;;;9349:7;:14;;;9381:7;:16;;;9415:7;:17;;;9450:10;9478:12;9287:217;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8969:545;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;7671:628:14;7851:12;7879:7;7875:418;;;7927:1;7906:10;:17;:22;7902:286;;8121:18;8132:6;8121:10;:18::i;:::-;8113:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7902:286;8208:10;8201:17;;;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;;:::o;9901:314:1:-;10011:18;10058:1;10032:7;:16;;;:23;:27;;;;:::i;:::-;10011:48;;10184:7;:20;;:22;;;;;;;;:::i;:::-;;;;10180:1;:26;;;;:::i;:::-;10171:2;10164:10;;10156:19;;;:51;;10112:7;:16;;;10129:10;10112:28;;;;;;;;:::i;:::-;;;;;;;;:96;10069:7;:16;;;10086:10;10069:28;;;;;;;;:::i;:::-;;;;;;;:139;;;;;10001:214;9901:314;;:::o;9527:368::-;9645:9;9666:24;9693:7;:17;;;9666:44;;9732:9;:16;9720:29;;9809:1;9804:3;9800:11;9789:9;9782:30;9883:5;9866:9;9876:3;9866:14;;;;;;;;;;:::i;:::-;;;;;;;:22;;;;9656:239;9527:368;;;;:::o;1412:320:14:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;8821:540::-;9000:1;8980:10;:17;:21;8976:379;;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:21:-;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:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:117::-;1627:1;1624;1617:12;1641:117;1750:1;1747;1740:12;1764:102;1805:6;1856:2;1852:7;1847:2;1840:5;1836:14;1832:28;1822:38;;1764:102;;;:::o;1872:180::-;1920:77;1917:1;1910:88;2017:4;2014:1;2007:15;2041:4;2038:1;2031:15;2058:281;2141:27;2163:4;2141:27;:::i;:::-;2133:6;2129:40;2271:6;2259:10;2256:22;2235:18;2223:10;2220:34;2217:62;2214:88;;;2282:18;;:::i;:::-;2214:88;2322:10;2318:2;2311:22;2101:238;2058:281;;:::o;2345:129::-;2379:6;2406:20;;:::i;:::-;2396:30;;2435:33;2463:4;2455:6;2435:33;:::i;:::-;2345:129;;;:::o;2480:307::-;2541:4;2631:18;2623:6;2620:30;2617:56;;;2653:18;;:::i;:::-;2617:56;2691:29;2713:6;2691:29;:::i;:::-;2683:37;;2775:4;2769;2765:15;2757:23;;2480:307;;;:::o;2793:148::-;2891:6;2886:3;2881;2868:30;2932:1;2923:6;2918:3;2914:16;2907:27;2793:148;;;:::o;2947:423::-;3024:5;3049:65;3065:48;3106:6;3065:48;:::i;:::-;3049:65;:::i;:::-;3040:74;;3137:6;3130:5;3123:21;3175:4;3168:5;3164:16;3213:3;3204:6;3199:3;3195:16;3192:25;3189:112;;;3220:79;;:::i;:::-;3189:112;3310:54;3357:6;3352:3;3347;3310:54;:::i;:::-;3030:340;2947:423;;;;;:::o;3389:338::-;3444:5;3493:3;3486:4;3478:6;3474:17;3470:27;3460:122;;3501:79;;:::i;:::-;3460:122;3618:6;3605:20;3643:78;3717:3;3709:6;3702:4;3694:6;3690:17;3643:78;:::i;:::-;3634:87;;3450:277;3389:338;;;;:::o;3733:507::-;3801:6;3850:2;3838:9;3829:7;3825:23;3821:32;3818:119;;;3856:79;;:::i;:::-;3818:119;4004:1;3993:9;3989:17;3976:31;4034:18;4026:6;4023:30;4020:117;;;4056:79;;:::i;:::-;4020:117;4161:62;4215:7;4206:6;4195:9;4191:22;4161:62;:::i;:::-;4151:72;;3947:286;3733:507;;;;:::o;4246:77::-;4283:7;4312:5;4301:16;;4246:77;;;:::o;4329:118::-;4416:24;4434:5;4416:24;:::i;:::-;4411:3;4404:37;4329:118;;:::o;4453:126::-;4490:7;4530:42;4523:5;4519:54;4508:65;;4453:126;;;:::o;4585:96::-;4622:7;4651:24;4669:5;4651:24;:::i;:::-;4640:35;;4585:96;;;:::o;4687:118::-;4774:24;4792:5;4774:24;:::i;:::-;4769:3;4762:37;4687:118;;:::o;4811:332::-;4932:4;4970:2;4959:9;4955:18;4947:26;;4983:71;5051:1;5040:9;5036:17;5027:6;4983:71;:::i;:::-;5064:72;5132:2;5121:9;5117:18;5108:6;5064:72;:::i;:::-;4811:332;;;;;:::o;5149:117::-;5258:1;5255;5248:12;5272:117;5381:1;5378;5371:12;5408:552;5465:8;5475:6;5525:3;5518:4;5510:6;5506:17;5502:27;5492:122;;5533:79;;:::i;:::-;5492:122;5646:6;5633:20;5623:30;;5676:18;5668:6;5665:30;5662:117;;;5698:79;;:::i;:::-;5662:117;5812:4;5804:6;5800:17;5788:29;;5866:3;5858:4;5850:6;5846:17;5836:8;5832:32;5829:41;5826:128;;;5873:79;;:::i;:::-;5826:128;5408:552;;;;;:::o;5966:527::-;6036:6;6044;6093:2;6081:9;6072:7;6068:23;6064:32;6061:119;;;6099:79;;:::i;:::-;6061:119;6247:1;6236:9;6232:17;6219:31;6277:18;6269:6;6266:30;6263:117;;;6299:79;;:::i;:::-;6263:117;6412:64;6468:7;6459:6;6448:9;6444:22;6412:64;:::i;:::-;6394:82;;;;6190:296;5966:527;;;;;:::o;6499:77::-;6536:7;6565:5;6554:16;;6499:77;;;:::o;6582:118::-;6669:24;6687:5;6669:24;:::i;:::-;6664:3;6657:37;6582:118;;:::o;6706:222::-;6799:4;6837:2;6826:9;6822:18;6814:26;;6850:71;6918:1;6907:9;6903:17;6894:6;6850:71;:::i;:::-;6706:222;;;;:::o;6934:60::-;6962:3;6983:5;6976:12;;6934:60;;;:::o;7000:142::-;7050:9;7083:53;7101:34;7110:24;7128:5;7110:24;:::i;:::-;7101:34;:::i;:::-;7083:53;:::i;:::-;7070:66;;7000:142;;;:::o;7148:126::-;7198:9;7231:37;7262:5;7231:37;:::i;:::-;7218:50;;7148:126;;;:::o;7280:146::-;7350:9;7383:37;7414:5;7383:37;:::i;:::-;7370:50;;7280:146;;;:::o;7432:171::-;7539:57;7590:5;7539:57;:::i;:::-;7534:3;7527:70;7432:171;;:::o;7609:262::-;7722:4;7760:2;7749:9;7745:18;7737:26;;7773:91;7861:1;7850:9;7846:17;7837:6;7773:91;:::i;:::-;7609:262;;;;:::o;7877:138::-;7939:9;7972:37;8003:5;7972:37;:::i;:::-;7959:50;;7877:138;;;:::o;8021:155::-;8120:49;8163:5;8120:49;:::i;:::-;8115:3;8108:62;8021:155;;:::o;8182:246::-;8287:4;8325:2;8314:9;8310:18;8302:26;;8338:83;8418:1;8407:9;8403:17;8394:6;8338:83;:::i;:::-;8182:246;;;;:::o;8434:870::-;8524:6;8532;8540;8548;8597:2;8585:9;8576:7;8572:23;8568:32;8565:119;;;8603:79;;:::i;:::-;8565:119;8751:1;8740:9;8736:17;8723:31;8781:18;8773:6;8770:30;8767:117;;;8803:79;;:::i;:::-;8767:117;8916:64;8972:7;8963:6;8952:9;8948:22;8916:64;:::i;:::-;8898:82;;;;8694:296;9057:2;9046:9;9042:18;9029:32;9088:18;9080:6;9077:30;9074:117;;;9110:79;;:::i;:::-;9074:117;9223:64;9279:7;9270:6;9259:9;9255:22;9223:64;:::i;:::-;9205:82;;;;9000:297;8434:870;;;;;;;:::o;9310:98::-;9361:6;9395:5;9389:12;9379:22;;9310:98;;;:::o;9414:168::-;9497:11;9531:6;9526:3;9519:19;9571:4;9566:3;9562:14;9547:29;;9414:168;;;;:::o;9588:248::-;9670:1;9680:113;9694:6;9691:1;9688:13;9680:113;;;9779:1;9774:3;9770:11;9764:18;9760:1;9755:3;9751:11;9744:39;9716:2;9713:1;9709:10;9704:15;;9680:113;;;9827:1;9818:6;9813:3;9809:16;9802:27;9650:186;9588:248;;;:::o;9842:373::-;9928:3;9956:38;9988:5;9956:38;:::i;:::-;10010:70;10073:6;10068:3;10010:70;:::i;:::-;10003:77;;10089:65;10147:6;10142:3;10135:4;10128:5;10124:16;10089:65;:::i;:::-;10179:29;10201:6;10179:29;:::i;:::-;10174:3;10170:39;10163:46;;9932:283;9842:373;;;;:::o;10221:309::-;10332:4;10370:2;10359:9;10355:18;10347:26;;10419:9;10413:4;10409:20;10405:1;10394:9;10390:17;10383:47;10447:76;10518:4;10509:6;10447:76;:::i;:::-;10439:84;;10221:309;;;;:::o;10536:147::-;10607:9;10640:37;10671:5;10640:37;:::i;:::-;10627:50;;10536:147;;;:::o;10689:173::-;10797:58;10849:5;10797:58;:::i;:::-;10792:3;10785:71;10689:173;;:::o;10868:264::-;10982:4;11020:2;11009:9;11005:18;10997:26;;11033:92;11122:1;11111:9;11107:17;11098:6;11033:92;:::i;:::-;10868:264;;;;:::o;11138:122::-;11211:24;11229:5;11211:24;:::i;:::-;11204:5;11201:35;11191:63;;11250:1;11247;11240:12;11191:63;11138:122;:::o;11266:139::-;11312:5;11350:6;11337:20;11328:29;;11366:33;11393:5;11366:33;:::i;:::-;11266:139;;;;:::o;11411:672::-;11490:6;11498;11506;11555:2;11543:9;11534:7;11530:23;11526:32;11523:119;;;11561:79;;:::i;:::-;11523:119;11709:1;11698:9;11694:17;11681:31;11739:18;11731:6;11728:30;11725:117;;;11761:79;;:::i;:::-;11725:117;11874:64;11930:7;11921:6;11910:9;11906:22;11874:64;:::i;:::-;11856:82;;;;11652:296;11987:2;12013:53;12058:7;12049:6;12038:9;12034:22;12013:53;:::i;:::-;12003:63;;11958:118;11411:672;;;;;:::o;12089:122::-;12162:24;12180:5;12162:24;:::i;:::-;12155:5;12152:35;12142:63;;12201:1;12198;12191:12;12142:63;12089:122;:::o;12217:139::-;12263:5;12301:6;12288:20;12279:29;;12317:33;12344:5;12317:33;:::i;:::-;12217:139;;;;:::o;12362:672::-;12441:6;12449;12457;12506:2;12494:9;12485:7;12481:23;12477:32;12474:119;;;12512:79;;:::i;:::-;12474:119;12660:1;12649:9;12645:17;12632:31;12690:18;12682:6;12679:30;12676:117;;;12712:79;;:::i;:::-;12676:117;12825:64;12881:7;12872:6;12861:9;12857:22;12825:64;:::i;:::-;12807:82;;;;12603:296;12938:2;12964:53;13009:7;13000:6;12989:9;12985:22;12964:53;:::i;:::-;12954:63;;12909:118;12362:672;;;;;:::o;13040:320::-;13126:4;13216:18;13208:6;13205:30;13202:56;;;13238:18;;:::i;:::-;13202:56;13288:4;13280:6;13276:17;13268:25;;13348:4;13342;13338:15;13330:23;;13040:320;;;:::o;13381:942::-;13486:5;13511:90;13527:73;13593:6;13527:73;:::i;:::-;13511:90;:::i;:::-;13502:99;;13621:5;13650:6;13643:5;13636:21;13684:4;13677:5;13673:16;13666:23;;13737:4;13729:6;13725:17;13717:6;13713:30;13766:3;13758:6;13755:15;13752:122;;;13785:79;;:::i;:::-;13752:122;13900:6;13883:434;13917:6;13912:3;13909:15;13883:434;;;14006:3;13993:17;14042:18;14029:11;14026:35;14023:122;;;14064:79;;:::i;:::-;14023:122;14188:11;14180:6;14176:24;14226:46;14268:3;14256:10;14226:46;:::i;:::-;14221:3;14214:59;14302:4;14297:3;14293:14;14286:21;;13959:358;;13943:4;13938:3;13934:14;13927:21;;13883:434;;;13887:21;13492:831;;13381:942;;;;;:::o;14344:388::-;14424:5;14473:3;14466:4;14458:6;14454:17;14450:27;14440:122;;14481:79;;:::i;:::-;14440:122;14598:6;14585:20;14623:103;14722:3;14714:6;14707:4;14699:6;14695:17;14623:103;:::i;:::-;14614:112;;14430:302;14344:388;;;;:::o;14738:880::-;14849:6;14857;14906:2;14894:9;14885:7;14881:23;14877:32;14874:119;;;14912:79;;:::i;:::-;14874:119;15060:1;15049:9;15045:17;15032:31;15090:18;15082:6;15079:30;15076:117;;;15112:79;;:::i;:::-;15076:117;15217:87;15296:7;15287:6;15276:9;15272:22;15217:87;:::i;:::-;15207:97;;15003:311;15381:2;15370:9;15366:18;15353:32;15412:18;15404:6;15401:30;15398:117;;;15434:79;;:::i;:::-;15398:117;15539:62;15593:7;15584:6;15573:9;15569:22;15539:62;:::i;:::-;15529:72;;15324:287;14738:880;;;;;:::o;15624:176::-;15715:11;15749:6;15744:3;15737:19;15789:4;15784:3;15780:14;15765:29;;15624:176;;;;:::o;15828:330::-;15932:3;15953:78;16024:6;16019:3;15953:78;:::i;:::-;15946:85;;16041:56;16090:6;16085:3;16078:5;16041:56;:::i;:::-;16122:29;16144:6;16122:29;:::i;:::-;16117:3;16113:39;16106:46;;15828:330;;;;;:::o;16164:345::-;16293:4;16331:2;16320:9;16316:18;16308:26;;16380:9;16374:4;16370:20;16366:1;16355:9;16351:17;16344:47;16408:94;16497:4;16488:6;16480;16408:94;:::i;:::-;16400:102;;16164:345;;;;;:::o;16515:432::-;16603:5;16628:65;16644:48;16685:6;16644:48;:::i;:::-;16628:65;:::i;:::-;16619:74;;16716:6;16709:5;16702:21;16754:4;16747:5;16743:16;16792:3;16783:6;16778:3;16774:16;16771:25;16768:112;;;16799:79;;:::i;:::-;16768:112;16889:52;16934:6;16929:3;16924;16889:52;:::i;:::-;16609:338;16515:432;;;;;:::o;16966:353::-;17032:5;17081:3;17074:4;17066:6;17062:17;17058:27;17048:122;;17089:79;;:::i;:::-;17048:122;17199:6;17193:13;17224:89;17309:3;17301:6;17294:4;17286:6;17282:17;17224:89;:::i;:::-;17215:98;;17038:281;16966:353;;;;:::o;17325:522::-;17404:6;17453:2;17441:9;17432:7;17428:23;17424:32;17421:119;;;17459:79;;:::i;:::-;17421:119;17600:1;17589:9;17585:17;17579:24;17630:18;17622:6;17619:30;17616:117;;;17652:79;;:::i;:::-;17616:117;17757:73;17822:7;17813:6;17802:9;17798:22;17757:73;:::i;:::-;17747:83;;17550:290;17325:522;;;;:::o;17853:389::-;17947:3;17975:38;18007:5;17975:38;:::i;:::-;18029:78;18100:6;18095:3;18029:78;:::i;:::-;18022:85;;18116:65;18174:6;18169:3;18162:4;18155:5;18151:16;18116:65;:::i;:::-;18206:29;18228:6;18206:29;:::i;:::-;18201:3;18197:39;18190:46;;17951:291;17853:389;;;;:::o;18248:325::-;18367:4;18405:2;18394:9;18390:18;18382:26;;18454:9;18448:4;18444:20;18440:1;18429:9;18425:17;18418:47;18482:84;18561:4;18552:6;18482:84;:::i;:::-;18474:92;;18248:325;;;;:::o;18579:116::-;18649:21;18664:5;18649:21;:::i;:::-;18642:5;18639:32;18629:60;;18685:1;18682;18675:12;18629:60;18579:116;:::o;18701:137::-;18755:5;18786:6;18780:13;18771:22;;18802:30;18826:5;18802:30;:::i;:::-;18701:137;;;;:::o;18844:345::-;18911:6;18960:2;18948:9;18939:7;18935:23;18931:32;18928:119;;;18966:79;;:::i;:::-;18928:119;19086:1;19111:61;19164:7;19155:6;19144:9;19140:22;19111:61;:::i;:::-;19101:71;;19057:125;18844:345;;;;:::o;19195:169::-;19279:11;19313:6;19308:3;19301:19;19353:4;19348:3;19344:14;19329:29;;19195:169;;;;:::o;19370:171::-;19510:23;19506:1;19498:6;19494:14;19487:47;19370:171;:::o;19547:366::-;19689:3;19710:67;19774:2;19769:3;19710:67;:::i;:::-;19703:74;;19786:93;19875:3;19786:93;:::i;:::-;19904:2;19899:3;19895:12;19888:19;;19547:366;;;:::o;19919:419::-;20085:4;20123:2;20112:9;20108:18;20100:26;;20172:9;20166:4;20162:20;20158:1;20147:9;20143:17;20136:47;20200:131;20326:4;20200:131;:::i;:::-;20192:139;;19919:419;;;:::o;20344:143::-;20401:5;20432:6;20426:13;20417:22;;20448:33;20475:5;20448:33;:::i;:::-;20344:143;;;;:::o;20493:351::-;20563:6;20612:2;20600:9;20591:7;20587:23;20583:32;20580:119;;;20618:79;;:::i;:::-;20580:119;20738:1;20763:64;20819:7;20810:6;20799:9;20795:22;20763:64;:::i;:::-;20753:74;;20709:128;20493:351;;;;:::o;20850:116::-;20907:7;20936:24;20954:5;20936:24;:::i;:::-;20925:35;;20850:116;;;:::o;20972:162::-;21065:44;21103:5;21065:44;:::i;:::-;21058:5;21055:55;21045:83;;21124:1;21121;21114:12;21045:83;20972:162;:::o;21140:179::-;21206:5;21244:6;21231:20;21222:29;;21260:53;21307:5;21260:53;:::i;:::-;21140:179;;;;:::o;21325:104::-;21370:7;21399:24;21417:5;21399:24;:::i;:::-;21388:35;;21325:104;;;:::o;21435:138::-;21516:32;21542:5;21516:32;:::i;:::-;21509:5;21506:43;21496:71;;21563:1;21560;21553:12;21496:71;21435:138;:::o;21579:155::-;21633:5;21671:6;21658:20;21649:29;;21687:41;21722:5;21687:41;:::i;:::-;21579:155;;;;:::o;21740:311::-;21817:4;21907:18;21899:6;21896:30;21893:56;;;21929:18;;:::i;:::-;21893:56;21979:4;21971:6;21967:17;21959:25;;22039:4;22033;22029:15;22021:23;;21740:311;;;:::o;22057:122::-;22130:24;22148:5;22130:24;:::i;:::-;22123:5;22120:35;22110:63;;22169:1;22166;22159:12;22110:63;22057:122;:::o;22185:139::-;22231:5;22269:6;22256:20;22247:29;;22285:33;22312:5;22285:33;:::i;:::-;22185:139;;;;:::o;22347:710::-;22443:5;22468:81;22484:64;22541:6;22484:64;:::i;:::-;22468:81;:::i;:::-;22459:90;;22569:5;22598:6;22591:5;22584:21;22632:4;22625:5;22621:16;22614:23;;22685:4;22677:6;22673:17;22665:6;22661:30;22714:3;22706:6;22703:15;22700:122;;;22733:79;;:::i;:::-;22700:122;22848:6;22831:220;22865:6;22860:3;22857:15;22831:220;;;22940:3;22969:37;23002:3;22990:10;22969:37;:::i;:::-;22964:3;22957:50;23036:4;23031:3;23027:14;23020:21;;22907:144;22891:4;22886:3;22882:14;22875:21;;22831:220;;;22835:21;22449:608;;22347:710;;;;;:::o;23080:370::-;23151:5;23200:3;23193:4;23185:6;23181:17;23177:27;23167:122;;23208:79;;:::i;:::-;23167:122;23325:6;23312:20;23350:94;23440:3;23432:6;23425:4;23417:6;23413:17;23350:94;:::i;:::-;23341:103;;23157:293;23080:370;;;;:::o;23456:1727::-;23655:6;23663;23671;23679;23687;23695;23744:3;23732:9;23723:7;23719:23;23715:33;23712:120;;;23751:79;;:::i;:::-;23712:120;23871:1;23896:73;23961:7;23952:6;23941:9;23937:22;23896:73;:::i;:::-;23886:83;;23842:137;24018:2;24044:61;24097:7;24088:6;24077:9;24073:22;24044:61;:::i;:::-;24034:71;;23989:126;24182:2;24171:9;24167:18;24154:32;24213:18;24205:6;24202:30;24199:117;;;24235:79;;:::i;:::-;24199:117;24340:78;24410:7;24401:6;24390:9;24386:22;24340:78;:::i;:::-;24330:88;;24125:303;24495:2;24484:9;24480:18;24467:32;24526:18;24518:6;24515:30;24512:117;;;24548:79;;:::i;:::-;24512:117;24653:87;24732:7;24723:6;24712:9;24708:22;24653:87;:::i;:::-;24643:97;;24438:312;24789:3;24816:52;24860:7;24851:6;24840:9;24836:22;24816:52;:::i;:::-;24806:62;;24760:118;24945:3;24934:9;24930:19;24917:33;24977:18;24969:6;24966:30;24963:117;;;24999:79;;:::i;:::-;24963:117;25104:62;25158:7;25149:6;25138:9;25134:22;25104:62;:::i;:::-;25094:72;;24888:288;23456:1727;;;;;;;;:::o;25189:114::-;25256:6;25290:5;25284:12;25274:22;;25189:114;;;:::o;25309:184::-;25408:11;25442:6;25437:3;25430:19;25482:4;25477:3;25473:14;25458:29;;25309:184;;;;:::o;25499:132::-;25566:4;25589:3;25581:11;;25619:4;25614:3;25610:14;25602:22;;25499:132;;;:::o;25637:108::-;25714:24;25732:5;25714:24;:::i;:::-;25709:3;25702:37;25637:108;;:::o;25751:179::-;25820:10;25841:46;25883:3;25875:6;25841:46;:::i;:::-;25919:4;25914:3;25910:14;25896:28;;25751:179;;;;:::o;25936:113::-;26006:4;26038;26033:3;26029:14;26021:22;;25936:113;;;:::o;26085:732::-;26204:3;26233:54;26281:5;26233:54;:::i;:::-;26303:86;26382:6;26377:3;26303:86;:::i;:::-;26296:93;;26413:56;26463:5;26413:56;:::i;:::-;26492:7;26523:1;26508:284;26533:6;26530:1;26527:13;26508:284;;;26609:6;26603:13;26636:63;26695:3;26680:13;26636:63;:::i;:::-;26629:70;;26722:60;26775:6;26722:60;:::i;:::-;26712:70;;26568:224;26555:1;26552;26548:9;26543:14;;26508:284;;;26512:14;26808:3;26801:10;;26209:608;;;26085:732;;;;:::o;26823:123::-;26899:6;26933:5;26927:12;26917:22;;26823:123;;;:::o;26952:193::-;27060:11;27094:6;27089:3;27082:19;27134:4;27129:3;27125:14;27110:29;;26952:193;;;;:::o;27151:141::-;27227:4;27250:3;27242:11;;27280:4;27275:3;27271:14;27263:22;;27151:141;;;:::o;27298:158::-;27371:11;27405:6;27400:3;27393:19;27445:4;27440:3;27436:14;27421:29;;27298:158;;;;:::o;27462:353::-;27538:3;27566:38;27598:5;27566:38;:::i;:::-;27620:60;27673:6;27668:3;27620:60;:::i;:::-;27613:67;;27689:65;27747:6;27742:3;27735:4;27728:5;27724:16;27689:65;:::i;:::-;27779:29;27801:6;27779:29;:::i;:::-;27774:3;27770:39;27763:46;;27542:273;27462:353;;;;:::o;27821:192::-;27908:10;27943:64;28003:3;27995:6;27943:64;:::i;:::-;27929:78;;27821:192;;;;:::o;28019:122::-;28098:4;28130;28125:3;28121:14;28113:22;;28019:122;;;:::o;28173:983::-;28310:3;28339:63;28396:5;28339:63;:::i;:::-;28418:95;28506:6;28501:3;28418:95;:::i;:::-;28411:102;;28539:3;28584:4;28576:6;28572:17;28567:3;28563:27;28614:65;28673:5;28614:65;:::i;:::-;28702:7;28733:1;28718:393;28743:6;28740:1;28737:13;28718:393;;;28814:9;28808:4;28804:20;28799:3;28792:33;28865:6;28859:13;28893:82;28970:4;28955:13;28893:82;:::i;:::-;28885:90;;28998:69;29060:6;28998:69;:::i;:::-;28988:79;;29096:4;29091:3;29087:14;29080:21;;28778:333;28765:1;28762;28758:9;28753:14;;28718:393;;;28722:14;29127:4;29120:11;;29147:3;29140:10;;28315:841;;;;;28173:983;;;;:::o;29162:1089::-;29503:4;29541:3;29530:9;29526:19;29518:27;;29555:71;29623:1;29612:9;29608:17;29599:6;29555:71;:::i;:::-;29673:9;29667:4;29663:20;29658:2;29647:9;29643:18;29636:48;29701:108;29804:4;29795:6;29701:108;:::i;:::-;29693:116;;29856:9;29850:4;29846:20;29841:2;29830:9;29826:18;29819:48;29884:126;30005:4;29996:6;29884:126;:::i;:::-;29876:134;;30057:9;30051:4;30047:20;30042:2;30031:9;30027:18;30020:48;30085:76;30156:4;30147:6;30085:76;:::i;:::-;30077:84;;30171:73;30239:3;30228:9;30224:19;30215:6;30171:73;:::i;:::-;29162:1089;;;;;;;;:::o;30272:957::-;30388:5;30413:90;30429:73;30495:6;30429:73;:::i;:::-;30413:90;:::i;:::-;30404:99;;30523:5;30552:6;30545:5;30538:21;30586:4;30579:5;30575:16;30568:23;;30639:4;30631:6;30627:17;30619:6;30615:30;30668:3;30660:6;30657:15;30654:122;;;30687:79;;:::i;:::-;30654:122;30802:6;30785:438;30819:6;30814:3;30811:15;30785:438;;;30901:3;30895:10;30937:18;30924:11;30921:35;30918:122;;;30959:79;;:::i;:::-;30918:122;31083:11;31075:6;31071:24;31121:57;31174:3;31162:10;31121:57;:::i;:::-;31116:3;31109:70;31208:4;31203:3;31199:14;31192:21;;30861:362;;30845:4;30840:3;30836:14;30829:21;;30785:438;;;30789:21;30394:835;;30272:957;;;;;:::o;31250:403::-;31341:5;31390:3;31383:4;31375:6;31371:17;31367:27;31357:122;;31398:79;;:::i;:::-;31357:122;31508:6;31502:13;31533:114;31643:3;31635:6;31628:4;31620:6;31616:17;31533:114;:::i;:::-;31524:123;;31347:306;31250:403;;;;:::o;31659:572::-;31763:6;31812:2;31800:9;31791:7;31787:23;31783:32;31780:119;;;31818:79;;:::i;:::-;31780:119;31959:1;31948:9;31944:17;31938:24;31989:18;31981:6;31978:30;31975:117;;;32011:79;;:::i;:::-;31975:117;32116:98;32206:7;32197:6;32186:9;32182:22;32116:98;:::i;:::-;32106:108;;31909:315;31659:572;;;;:::o;32237:332::-;32358:4;32396:2;32385:9;32381:18;32373:26;;32409:71;32477:1;32466:9;32462:17;32453:6;32409:71;:::i;:::-;32490:72;32558:2;32547:9;32543:18;32534:6;32490:72;:::i;:::-;32237:332;;;;;:::o;32575:606::-;32782:4;32820:2;32809:9;32805:18;32797:26;;32869:9;32863:4;32859:20;32855:1;32844:9;32840:17;32833:47;32897:126;33018:4;33009:6;32897:126;:::i;:::-;32889:134;;33070:9;33064:4;33060:20;33055:2;33044:9;33040:18;33033:48;33098:76;33169:4;33160:6;33098:76;:::i;:::-;33090:84;;32575:606;;;;;:::o;33187:170::-;33327:22;33323:1;33315:6;33311:14;33304:46;33187:170;:::o;33363:366::-;33505:3;33526:67;33590:2;33585:3;33526:67;:::i;:::-;33519:74;;33602:93;33691:3;33602:93;:::i;:::-;33720:2;33715:3;33711:12;33704:19;;33363:366;;;:::o;33735:419::-;33901:4;33939:2;33928:9;33924:18;33916:26;;33988:9;33982:4;33978:20;33974:1;33963:9;33959:17;33952:47;34016:131;34142:4;34016:131;:::i;:::-;34008:139;;33735:419;;;:::o;34160:117::-;34269:1;34266;34259:12;34283:117;34392:1;34389;34382:12;34406:469;34511:9;34522;34560:8;34548:10;34545:24;34542:111;;;34572:79;;:::i;:::-;34542:111;34678:6;34668:8;34665:20;34662:107;;;34688:79;;:::i;:::-;34662:107;34819:1;34807:10;34803:18;34795:6;34791:31;34778:44;;34858:10;34848:8;34844:25;34831:38;;34406:469;;;;;;;:::o;34881:329::-;34940:6;34989:2;34977:9;34968:7;34964:23;34960:32;34957:119;;;34995:79;;:::i;:::-;34957:119;35115:1;35140:53;35185:7;35176:6;35165:9;35161:22;35140:53;:::i;:::-;35130:63;;35086:117;34881:329;;;;:::o;35216:175::-;35356:27;35352:1;35344:6;35340:14;35333:51;35216:175;:::o;35397:366::-;35539:3;35560:67;35624:2;35619:3;35560:67;:::i;:::-;35553:74;;35636:93;35725:3;35636:93;:::i;:::-;35754:2;35749:3;35745:12;35738:19;;35397:366;;;:::o;35769:419::-;35935:4;35973:2;35962:9;35958:18;35950:26;;36022:9;36016:4;36012:20;36008:1;35997:9;35993:17;35986:47;36050:131;36176:4;36050:131;:::i;:::-;36042:139;;35769:419;;;:::o;36194:96::-;36252:6;36280:3;36270:13;;36194:96;;;;:::o;36388:107::-;36432:8;36482:5;36476:4;36472:16;36451:37;;36388:107;;;;:::o;36501:548::-;36591:5;36622:45;36663:3;36656:5;36622:45;:::i;:::-;36692:5;36716:40;36746:8;36733:22;36716:40;:::i;:::-;36707:49;;36780:1;36772:6;36769:13;36766:276;;;36850:168;36934:66;36904:6;36901:1;36897:14;36894:1;36890:22;36850:168;:::i;:::-;36827:5;36806:226;36797:235;;36766:276;36597:452;;36501:548;;;;:::o;37055:166::-;37195:18;37191:1;37183:6;37179:14;37172:42;37055:166;:::o;37227:366::-;37369:3;37390:67;37454:2;37449:3;37390:67;:::i;:::-;37383:74;;37466:93;37555:3;37466:93;:::i;:::-;37584:2;37579:3;37575:12;37568:19;;37227:366;;;:::o;37599:419::-;37765:4;37803:2;37792:9;37788:18;37780:26;;37852:9;37846:4;37842:20;37838:1;37827:9;37823:17;37816:47;37880:131;38006:4;37880:131;:::i;:::-;37872:139;;37599:419;;;:::o;38024:242::-;38164:34;38160:1;38152:6;38148:14;38141:58;38233:25;38228:2;38220:6;38216:15;38209:50;38024:242;:::o;38272:366::-;38414:3;38435:67;38499:2;38494:3;38435:67;:::i;:::-;38428:74;;38511:93;38600:3;38511:93;:::i;:::-;38629:2;38624:3;38620:12;38613:19;;38272:366;;;:::o;38644:419::-;38810:4;38848:2;38837:9;38833:18;38825:26;;38897:9;38891:4;38887:20;38883:1;38872:9;38868:17;38861:47;38925:131;39051:4;38925:131;:::i;:::-;38917:139;;38644:419;;;:::o;39069:332::-;39190:4;39228:2;39217:9;39213:18;39205:26;;39241:71;39309:1;39298:9;39294:17;39285:6;39241:71;:::i;:::-;39322:72;39390:2;39379:9;39375:18;39366:6;39322:72;:::i;:::-;39069:332;;;;;:::o;39407:231::-;39547:34;39543:1;39535:6;39531:14;39524:58;39616:14;39611:2;39603:6;39599:15;39592:39;39407:231;:::o;39644:366::-;39786:3;39807:67;39871:2;39866:3;39807:67;:::i;:::-;39800:74;;39883:93;39972:3;39883:93;:::i;:::-;40001:2;39996:3;39992:12;39985:19;;39644:366;;;:::o;40016:419::-;40182:4;40220:2;40209:9;40205:18;40197:26;;40269:9;40263:4;40259:20;40255:1;40244:9;40240:17;40233:47;40297:131;40423:4;40297:131;:::i;:::-;40289:139;;40016:419;;;:::o;40441:229::-;40581:34;40577:1;40569:6;40565:14;40558:58;40650:12;40645:2;40637:6;40633:15;40626:37;40441:229;:::o;40676:366::-;40818:3;40839:67;40903:2;40898:3;40839:67;:::i;:::-;40832:74;;40915:93;41004:3;40915:93;:::i;:::-;41033:2;41028:3;41024:12;41017:19;;40676:366;;;:::o;41048:419::-;41214:4;41252:2;41241:9;41237:18;41229:26;;41301:9;41295:4;41291:20;41287:1;41276:9;41272:17;41265:47;41329:131;41455:4;41329:131;:::i;:::-;41321:139;;41048:419;;;:::o;41495:314::-;41591:3;41612:70;41675:6;41670:3;41612:70;:::i;:::-;41605:77;;41692:56;41741:6;41736:3;41729:5;41692:56;:::i;:::-;41773:29;41795:6;41773:29;:::i;:::-;41768:3;41764:39;41757:46;;41495:314;;;;;:::o;41815:439::-;41964:4;42002:2;41991:9;41987:18;41979:26;;42051:9;42045:4;42041:20;42037:1;42026:9;42022:17;42015:47;42079:86;42160:4;42151:6;42143;42079:86;:::i;:::-;42071:94;;42175:72;42243:2;42232:9;42228:18;42219:6;42175:72;:::i;:::-;41815:439;;;;;;:::o;42260:180::-;42308:77;42305:1;42298:88;42405:4;42402:1;42395:15;42429:4;42426:1;42419:15;42446:159;42511:5;42542:6;42536:13;42527:22;;42558:41;42593:5;42558:41;:::i;:::-;42446:159;;;;:::o;42611:367::-;42689:6;42738:2;42726:9;42717:7;42713:23;42709:32;42706:119;;;42744:79;;:::i;:::-;42706:119;42864:1;42889:72;42953:7;42944:6;42933:9;42929:22;42889:72;:::i;:::-;42879:82;;42835:136;42611:367;;;;:::o;42984:222::-;43077:4;43115:2;43104:9;43100:18;43092:26;;43128:71;43196:1;43185:9;43181:17;43172:6;43128:71;:::i;:::-;42984:222;;;;:::o;43212:180::-;43260:77;43257:1;43250:88;43357:4;43354:1;43347:15;43381:4;43378:1;43371:15;43398:191;43438:3;43457:20;43475:1;43457:20;:::i;:::-;43452:25;;43491:20;43509:1;43491:20;:::i;:::-;43486:25;;43534:1;43531;43527:9;43520:16;;43555:3;43552:1;43549:10;43546:36;;;43562:18;;:::i;:::-;43546:36;43398:191;;;;:::o;43595:79::-;43634:7;43663:5;43652:16;;43595:79;;;:::o;43680:157::-;43785:45;43805:24;43823:5;43805:24;:::i;:::-;43785:45;:::i;:::-;43780:3;43773:58;43680:157;;:::o;43843:397::-;43983:3;43998:75;44069:3;44060:6;43998:75;:::i;:::-;44098:2;44093:3;44089:12;44082:19;;44111:75;44182:3;44173:6;44111:75;:::i;:::-;44211:2;44206:3;44202:12;44195:19;;44231:3;44224:10;;43843:397;;;;;:::o;44246:147::-;44347:11;44384:3;44369:18;;44246:147;;;;:::o;44399:386::-;44503:3;44531:38;44563:5;44531:38;:::i;:::-;44585:88;44666:6;44661:3;44585:88;:::i;:::-;44578:95;;44682:65;44740:6;44735:3;44728:4;44721:5;44717:16;44682:65;:::i;:::-;44772:6;44767:3;44763:16;44756:23;;44507:278;44399:386;;;;:::o;44791:271::-;44921:3;44943:93;45032:3;45023:6;44943:93;:::i;:::-;44936:100;;45053:3;45046:10;;44791:271;;;;:::o;45068:222::-;45161:4;45199:2;45188:9;45184:18;45176:26;;45212:71;45280:1;45269:9;45265:17;45256:6;45212:71;:::i;:::-;45068:222;;;;:::o;45296:143::-;45353:5;45384:6;45378:13;45369:22;;45400:33;45427:5;45400:33;:::i;:::-;45296:143;;;;:::o;45445:351::-;45515:6;45564:2;45552:9;45543:7;45539:23;45535:32;45532:119;;;45570:79;;:::i;:::-;45532:119;45690:1;45715:64;45771:7;45762:6;45751:9;45747:22;45715:64;:::i;:::-;45705:74;;45661:128;45445:351;;;;:::o;45802:332::-;45923:4;45961:2;45950:9;45946:18;45938:26;;45974:71;46042:1;46031:9;46027:17;46018:6;45974:71;:::i;:::-;46055:72;46123:2;46112:9;46108:18;46099:6;46055:72;:::i;:::-;45802:332;;;;;:::o;46140:225::-;46280:34;46276:1;46268:6;46264:14;46257:58;46349:8;46344:2;46336:6;46332:15;46325:33;46140:225;:::o;46371:366::-;46513:3;46534:67;46598:2;46593:3;46534:67;:::i;:::-;46527:74;;46610:93;46699:3;46610:93;:::i;:::-;46728:2;46723:3;46719:12;46712:19;;46371:366;;;:::o;46743:419::-;46909:4;46947:2;46936:9;46932:18;46924:26;;46996:9;46990:4;46986:20;46982:1;46971:9;46967:17;46960:47;47024:131;47150:4;47024:131;:::i;:::-;47016:139;;46743:419;;;:::o;47168:321::-;47255:4;47345:18;47337:6;47334:30;47331:56;;;47367:18;;:::i;:::-;47331:56;47417:4;47409:6;47405:17;47397:25;;47477:4;47471;47467:15;47459:23;;47168:321;;;:::o;47495:308::-;47557:4;47647:18;47639:6;47636:30;47633:56;;;47669:18;;:::i;:::-;47633:56;47707:29;47729:6;47707:29;:::i;:::-;47699:37;;47791:4;47785;47781:15;47773:23;;47495:308;;;:::o;47809:434::-;47898:5;47923:66;47939:49;47981:6;47939:49;:::i;:::-;47923:66;:::i;:::-;47914:75;;48012:6;48005:5;47998:21;48050:4;48043:5;48039:16;48088:3;48079:6;48074:3;48070:16;48067:25;48064:112;;;48095:79;;:::i;:::-;48064:112;48185:52;48230:6;48225:3;48220;48185:52;:::i;:::-;47904:339;47809:434;;;;;:::o;48263:355::-;48330:5;48379:3;48372:4;48364:6;48360:17;48356:27;48346:122;;48387:79;;:::i;:::-;48346:122;48497:6;48491:13;48522:90;48608:3;48600:6;48593:4;48585:6;48581:17;48522:90;:::i;:::-;48513:99;;48336:282;48263:355;;;;:::o;48640:960::-;48757:5;48782:91;48798:74;48865:6;48798:74;:::i;:::-;48782:91;:::i;:::-;48773:100;;48893:5;48922:6;48915:5;48908:21;48956:4;48949:5;48945:16;48938:23;;49009:4;49001:6;48997:17;48989:6;48985:30;49038:3;49030:6;49027:15;49024:122;;;49057:79;;:::i;:::-;49024:122;49172:6;49155:439;49189:6;49184:3;49181:15;49155:439;;;49271:3;49265:10;49307:18;49294:11;49291:35;49288:122;;;49329:79;;:::i;:::-;49288:122;49453:11;49445:6;49441:24;49491:58;49545:3;49533:10;49491:58;:::i;:::-;49486:3;49479:71;49579:4;49574:3;49570:14;49563:21;;49231:363;;49215:4;49210:3;49206:14;49199:21;;49155:439;;;49159:21;48763:837;;48640:960;;;;;:::o;49622:405::-;49714:5;49763:3;49756:4;49748:6;49744:17;49740:27;49730:122;;49771:79;;:::i;:::-;49730:122;49881:6;49875:13;49906:115;50017:3;50009:6;50002:4;49994:6;49990:17;49906:115;:::i;:::-;49897:124;;49720:307;49622:405;;;;:::o;50033:574::-;50138:6;50187:2;50175:9;50166:7;50162:23;50158:32;50155:119;;;50193:79;;:::i;:::-;50155:119;50334:1;50323:9;50319:17;50313:24;50364:18;50356:6;50353:30;50350:117;;;50386:79;;:::i;:::-;50350:117;50491:99;50582:7;50573:6;50562:9;50558:22;50491:99;:::i;:::-;50481:109;;50284:316;50033:574;;;;:::o;50613:780::-;50880:4;50918:2;50907:9;50903:18;50895:26;;50931:71;50999:1;50988:9;50984:17;50975:6;50931:71;:::i;:::-;51049:9;51043:4;51039:20;51034:2;51023:9;51019:18;51012:48;51077:108;51180:4;51171:6;51077:108;:::i;:::-;51069:116;;51232:9;51226:4;51222:20;51217:2;51206:9;51202:18;51195:48;51260:126;51381:4;51372:6;51260:126;:::i;:::-;51252:134;;50613:780;;;;;;:::o;51399:115::-;51484:23;51501:5;51484:23;:::i;:::-;51479:3;51472:36;51399:115;;:::o;51520:1236::-;51907:4;51945:3;51934:9;51930:19;51922:27;;51959:91;52047:1;52036:9;52032:17;52023:6;51959:91;:::i;:::-;52060:72;52128:2;52117:9;52113:18;52104:6;52060:72;:::i;:::-;52179:9;52173:4;52169:20;52164:2;52153:9;52149:18;52142:48;52207:108;52310:4;52301:6;52207:108;:::i;:::-;52199:116;;52362:9;52356:4;52352:20;52347:2;52336:9;52332:18;52325:48;52390:126;52511:4;52502:6;52390:126;:::i;:::-;52382:134;;52526:71;52592:3;52581:9;52577:19;52568:6;52526:71;:::i;:::-;52645:9;52639:4;52635:20;52629:3;52618:9;52614:19;52607:49;52673:76;52744:4;52735:6;52673:76;:::i;:::-;52665:84;;51520:1236;;;;;;;;;:::o;52762:124::-;52839:6;52873:5;52867:12;52857:22;;52762:124;;;:::o;52892:194::-;53001:11;53035:6;53030:3;53023:19;53075:4;53070:3;53066:14;53051:29;;52892:194;;;;:::o;53092:142::-;53169:4;53192:3;53184:11;;53222:4;53217:3;53213:14;53205:22;;53092:142;;;:::o;53240:99::-;53292:6;53326:5;53320:12;53310:22;;53240:99;;;:::o;53345:159::-;53419:11;53453:6;53448:3;53441:19;53493:4;53488:3;53484:14;53469:29;;53345:159;;;;:::o;53510:357::-;53588:3;53616:39;53649:5;53616:39;:::i;:::-;53671:61;53725:6;53720:3;53671:61;:::i;:::-;53664:68;;53741:65;53799:6;53794:3;53787:4;53780:5;53776:16;53741:65;:::i;:::-;53831:29;53853:6;53831:29;:::i;:::-;53826:3;53822:39;53815:46;;53592:275;53510:357;;;;:::o;53873:196::-;53962:10;53997:66;54059:3;54051:6;53997:66;:::i;:::-;53983:80;;53873:196;;;;:::o;54075:123::-;54155:4;54187;54182:3;54178:14;54170:22;;54075:123;;;:::o;54232:991::-;54371:3;54400:64;54458:5;54400:64;:::i;:::-;54480:96;54569:6;54564:3;54480:96;:::i;:::-;54473:103;;54602:3;54647:4;54639:6;54635:17;54630:3;54626:27;54677:66;54737:5;54677:66;:::i;:::-;54766:7;54797:1;54782:396;54807:6;54804:1;54801:13;54782:396;;;54878:9;54872:4;54868:20;54863:3;54856:33;54929:6;54923:13;54957:84;55036:4;55021:13;54957:84;:::i;:::-;54949:92;;55064:70;55127:6;55064:70;:::i;:::-;55054:80;;55163:4;55158:3;55154:14;55147:21;;54842:336;54829:1;54826;54822:9;54817:14;;54782:396;;;54786:14;55194:4;55187:11;;55214:3;55207:10;;54376:847;;;;;54232:991;;;;:::o;55229:1025::-;55538:4;55576:3;55565:9;55561:19;55553:27;;55590:71;55658:1;55647:9;55643:17;55634:6;55590:71;:::i;:::-;55708:9;55702:4;55698:20;55693:2;55682:9;55678:18;55671:48;55736:128;55859:4;55850:6;55736:128;:::i;:::-;55728:136;;55911:9;55905:4;55901:20;55896:2;55885:9;55881:18;55874:48;55939:76;56010:4;56001:6;55939:76;:::i;:::-;55931:84;;56025:70;56091:2;56080:9;56076:18;56067:6;56025:70;:::i;:::-;56143:9;56137:4;56133:20;56127:3;56116:9;56112:19;56105:49;56171:76;56242:4;56233:6;56171:76;:::i;:::-;56163:84;;55229:1025;;;;;;;;:::o;56260:179::-;56400:31;56396:1;56388:6;56384:14;56377:55;56260:179;:::o;56445:366::-;56587:3;56608:67;56672:2;56667:3;56608:67;:::i;:::-;56601:74;;56684:93;56773:3;56684:93;:::i;:::-;56802:2;56797:3;56793:12;56786:19;;56445:366;;;:::o;56817:419::-;56983:4;57021:2;57010:9;57006:18;56998:26;;57070:9;57064:4;57060:20;57056:1;57045:9;57041:17;57034:47;57098:131;57224:4;57098:131;:::i;:::-;57090:139;;56817:419;;;:::o;57242:194::-;57282:4;57302:20;57320:1;57302:20;:::i;:::-;57297:25;;57336:20;57354:1;57336:20;:::i;:::-;57331:25;;57380:1;57377;57373:9;57365:17;;57404:1;57398:4;57395:11;57392:37;;;57409:18;;:::i;:::-;57392:37;57242:194;;;;:::o;57442:233::-;57481:3;57504:24;57522:5;57504:24;:::i;:::-;57495:33;;57550:66;57543:5;57540:77;57537:103;;57620:18;;:::i;:::-;57537:103;57667:1;57660:5;57656:13;57649:20;;57442:233;;;:::o;57681:410::-;57721:7;57744:20;57762:1;57744:20;:::i;:::-;57739:25;;57778:20;57796:1;57778:20;:::i;:::-;57773:25;;57833:1;57830;57826:9;57855:30;57873:11;57855:30;:::i;:::-;57844:41;;58034:1;58025:7;58021:15;58018:1;58015:22;57995:1;57988:9;57968:83;57945:139;;58064:18;;:::i;:::-;57945:139;57729:362;57681:410;;;;:::o;58097:377::-;58185:3;58213:39;58246:5;58213:39;:::i;:::-;58268:71;58332:6;58327:3;58268:71;:::i;:::-;58261:78;;58348:65;58406:6;58401:3;58394:4;58387:5;58383:16;58348:65;:::i;:::-;58438:29;58460:6;58438:29;:::i;:::-;58433:3;58429:39;58422:46;;58189:285;58097:377;;;;:::o;58480:313::-;58593:4;58631:2;58620:9;58616:18;58608:26;;58680:9;58674:4;58670:20;58666:1;58655:9;58651:17;58644:47;58708:78;58781:4;58772:6;58708:78;:::i;:::-;58700:86;;58480:313;;;;:::o" + }, + "methodIdentifiers": { + "addrCallback(bytes[],bytes)": "f470901a", + "ens()": "3f15457f", + "extractNFTId(bytes)": "1a33ddae", + "getAcceptedL2BlockRangeLength()": "6d74e86e", + "getStorageSlotsCallback(bytes,bytes)": "5bdaa916", + "getTarget(bytes)": "15f64386", + "l2ChainId()": "d6ae3cd5", + "nameWrapper()": "a8e5fbc0", + "resolve(bytes,bytes)": "9061b923", + "setAddr(bytes,address)": "f00eebf4", + "setBaseNodeResolver(bytes,address)": "ac8a4a5d", + "setTarget(bytes,address)": "d358df77", + "setTargetAddrSlot(bytes,uint256)": "ac177c37", + "supportsInterface(bytes4)": "01ffc9a7", + "verifier()": "2b7ac3f3" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEVMVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract ENS\",\"name\":\"_ens\",\"type\":\"address\"},{\"internalType\":\"contract INameWrapper\",\"name\":\"_nameWrapper\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_l2ChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CommandTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes4\",\"name\":\"callbackFunction\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"OffchainLookup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"ResponseLengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"StorageHandledByL2\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyCommands\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"name\":\"BaseNodeResolverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"TargetAddrSlotSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"TargetSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addrCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"extractNFTId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAcceptedL2BlockRangeLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extradata\",\"type\":\"bytes\"}],\"name\":\"getStorageSlotsCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"}],\"name\":\"getTarget\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2ChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nameWrapper\",\"outputs\":[{\"internalType\":\"contract INameWrapper\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"setAddr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"name\":\"setBaseNodeResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"name\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"setTargetAddrSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IEVMVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"StorageHandledByL2(uint256,address)\":[{\"details\":\"EIP-5559 - Error to raise when mutations are being deferred to an L2.\",\"params\":{\"chainId\":\"Chain ID to perform the deferred mutation to.\",\"contractAddress\":\"Contract Address at which the deferred mutation should transact with.\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_ens\":\"The ENS registry address.\",\"_l2ChainId\":\"The chainId at which the resolver resolves data from.\",\"_nameWrapper\":\"The ENS name wrapper address.\",\"_verifier\":\"The chain verifier address.\"}},\"extractNFTId(bytes)\":{\"params\":{\"name\":\"DNS encoded ENS name.\"},\"returns\":{\"_0\":\"id The NFT id.\"}},\"getAcceptedL2BlockRangeLength()\":{\"details\":\"inherits from EVMFetchTarget\"},\"getStorageSlotsCallback(bytes,bytes)\":{\"details\":\"Internal callback function invoked by CCIP-Read in response to a `getStorageSlots` request.\"},\"getTarget(bytes)\":{\"details\":\"Returns the L2 target address that can answer queries for `name`.\",\"params\":{\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"node\":\"The node of the name.\",\"target\":\"The L2 resolver address to verify against.\"}},\"resolve(bytes,bytes)\":{\"details\":\"Resolve and verify a record stored in l2 target address. It supports subname by fetching target recursively to the nearest parent.\",\"params\":{\"data\":\"The actual calldata.\",\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"result\":\"Result of the call.\"}},\"setAddr(bytes,address)\":{\"details\":\"Resolve and throws an EIP 3559 compliant error.\",\"params\":{\"_addr\":\"The actual calldata.\",\"name\":\"DNS encoded ENS name to query.\"},\"returns\":{\"result\":\"Result of the call.\"}},\"setBaseNodeResolver(bytes,address)\":{\"params\":{\"name\":\"The DNS encoded name to set the base node resolver.\",\"resolverAddr\":\"The resolver address to use.\"}},\"setTarget(bytes,address)\":{\"params\":{\"name\":\"The DNS encoded name to set the target for.\",\"target\":\"The L2 resolver address to verify against.\"}},\"setTargetAddrSlot(bytes,uint256)\":{\"params\":{\"name\":\"The DNS encoded name to set the target address slot to query.\",\"slot\":\"The slot to set.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"extractNFTId(bytes)\":{\"notice\":\"Get the NFT Id from the ENS name's label.\"},\"setBaseNodeResolver(bytes,address)\":{\"notice\":\"Set base node resolver address.\"},\"setTarget(bytes,address)\":{\"notice\":\"Set target address to verify against.\"},\"setTargetAddrSlot(bytes,uint256)\":{\"notice\":\"Set the slot to query by ccip to get the address from the target contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/NFTResolver.sol\":\"NFTResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@consensys/linea-state-verifier/contracts/EVMFetchTarget.sol\":{\"keccak256\":\"0x16343bb690c36a6c1d41922b114319505dc2c6b86348b9abc06c10be79bfea9e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a2e001f6fec0aa4927b636aace4998b961c9a9eec8840f3eddcdeb9b9d72632\",\"dweb:/ipfs/QmeYRrJrBY1rpHQzbdLfG45wFeeLgFUpTAcPAf3PkVVEAB\"]},\"@consensys/linea-state-verifier/contracts/EVMFetcher.sol\":{\"keccak256\":\"0x96ccc4f320287222e427a2c4620d8e27cfc0a64820dc9b214ba396344eeb6a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d4c2093fc22db01c4552aae2706d9e77c08b1c0b390cee8d80802a73238dcf\",\"dweb:/ipfs/QmPrFfoC6K4Jimky4VSfiZnErCL1X4yQhMFNVNKLtLWBxz\"]},\"@consensys/linea-state-verifier/contracts/IEVMVerifier.sol\":{\"keccak256\":\"0x3e111236291da207c09145b288d0c98a20fb0845b5c5c4cadd4a465b269787cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ebeaa43d30afe6c261c85dc511ae26c8d5b3c2633e44493add150a87a7c5f9b\",\"dweb:/ipfs/QmStaQTHQCcUDubpBpqUofy1jVeuxo9kk3B9M1NyNMkXvh\"]},\"@ensdomains/ens-contracts/contracts/ethregistrar/IBaseRegistrar.sol\":{\"keccak256\":\"0x15f7b1dfa7cd34444daf79ec9b4d40437caa9257893ce0639d706fcc2ba69e52\",\"urls\":[\"bzz-raw://ef8b878d8de60c595017944a41a6feb272a8e0b67c497677dbc005581a7d9e8c\",\"dweb:/ipfs/QmQfDDfqiJiUMWdDtdcqaHX5oGjPKFKY3L26aZV3JqdZC8\"]},\"@ensdomains/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x8e208b44d5dbf22552fe72d79b45c640855b84fbc9ee21f4c3bb4bfe81cbe8db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcf03e1a9386d80ff6b8e31870063424454f69d2626c0efb2c8cf55e69151489\",\"dweb:/ipfs/QmVYgfMSc1ve5JWePqiAGSXEfD76emw3oLsCM1krstmJq5\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":{\"keccak256\":\"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963\",\"dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":{\"keccak256\":\"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82\",\"dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54\"]},\"@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":{\"keccak256\":\"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760\",\"dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM\"]},\"@ensdomains/ens-contracts/contracts/utils/BytesUtils.sol\":{\"keccak256\":\"0xc566a3569af880a096a9bfb2fbb77060ef7aecde1a205dc26446a58877412060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad627557ee4573cfd13238041acb2bda2d277dc78836e7611d184616df7f2a47\",\"dweb:/ipfs/QmSbCRpJaEqa5XiHwzQvawcyXVLVkFghY1KZob3XNGRveR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/IMetadataService.sol\":{\"keccak256\":\"0xb3f1cf6df01ed7b15e5f2318f6823afbdb586ca38c2124c67955c645647ae9a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71aa1053dd87829c5eb25d32840d7b0d33cd9d54d22e905a01436bf97cc32b8c\",\"dweb:/ipfs/QmeMNnGKqf3oZyYwDQzEuQhti58UCCMRCMAD2EBx5T8dSH\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapper.sol\":{\"keccak256\":\"0x70310eb67146d7290731c31841399640ac3b6a949eadc6598bc150123d185c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a85d9e2d6b235900131129386047fae5fb77438806b681ac566119868be5a502\",\"dweb:/ipfs/Qmd9ys5jeRx77TDVeRqWUme7a5LUDT4k7wQ91wVSayDpTR\"]},\"@ensdomains/ens-contracts/contracts/wrapper/INameWrapperUpgrade.sol\":{\"keccak256\":\"0x42e0cec6cd9d1a62d51d45b678f69d3e4ad5555e659b197e41257b308346bb8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5afeadfdf2232a2333afb5345b65a25f7199b62ed6fde403273b762c91f5e9af\",\"dweb:/ipfs/QmWKhi3FuqX2KgRrBdh65gB3pmiwA2QMYPeiDbsMKv6a88\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/IAddrSetter.sol\":{\"keccak256\":\"0xf7493c0fc452bd785cdf3d563f45eefb64c1498711dbe024126d247be56fe808\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a92c0ddfee4e552979e5215448d6a5a6d3f90e7706aaab203d44466d1d05263\",\"dweb:/ipfs/QmNiSn57hsD7fmPTZsPqzY7D8BuQGuPyujjHsHewjNgrhm\"]},\"contracts/ITargetResolver.sol\":{\"keccak256\":\"0xbe5a66f254ce775902d6d20db27a50bfe28b70747cc33f28188beff59185b71a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c6d753a198934d7d911818c553532f8a5f97f96c86c60c5b709da345ab8de9\",\"dweb:/ipfs/QmYegW3aiohrSn34H5yHmxpUxm72iJXa4auCcX1mJNVkz3\"]},\"contracts/LabelUtils.sol\":{\"keccak256\":\"0x6eb7a06a5619e65e4e184f6e1971d401d856ff82d8ad997759646229ddbf4582\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ecb649dbb8d22339c9358af1116c8bab85598adf2e7c97fd771bb8c08f89e799\",\"dweb:/ipfs/QmarNdSN4VtMWrwcP6QAZHCQsqZHj8BNNBG3KKQYDYUcuY\"]},\"contracts/NFTResolver.sol\":{\"keccak256\":\"0x064802f3b3f231ec0e438ed73cf9936264d392c214cf89b884c9127cfcd592df\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://908fe67e9976cc5c007c5f798755bc3ec0b034e7a4fe5c07679b2a354910eb2f\",\"dweb:/ipfs/QmRgRAbapDNYLf6nvVtTHPtDQ2h6481oKGvApYBw6WJifK\"]}},\"version\":1}" + } + } + } + } +} \ No newline at end of file diff --git a/ignition/deployments/chain-11155111/deployed_addresses.json b/ignition/deployments/chain-11155111/deployed_addresses.json index 36a8af4..590284f 100644 --- a/ignition/deployments/chain-11155111/deployed_addresses.json +++ b/ignition/deployments/chain-11155111/deployed_addresses.json @@ -1,4 +1,4 @@ { - "NFTResolverModule#LabelUtils": "0x013699d4A890DD3F121649A48b40Ad385acCdDE8", - "NFTResolverModule#NFTResolver": "0x2a294DfEa311DAC887b790aB543B9CE2f12E67E8" + "NFTResolverModule#LabelUtils": "0xc7e61F7442eb4a4672fbD768353d865578F9Be49", + "NFTResolverModule#NFTResolver": "0xE347fd1464068454E070B6853Bd1fc3efB72422e" } diff --git a/ignition/deployments/chain-11155111/journal.jsonl b/ignition/deployments/chain-11155111/journal.jsonl index 398b8a3..f403a4b 100644 --- a/ignition/deployments/chain-11155111/journal.jsonl +++ b/ignition/deployments/chain-11155111/journal.jsonl @@ -1,12 +1,12 @@ {"chainId":11155111,"type":"DEPLOYMENT_INITIALIZE"} -{"artifactId":"NFTResolverModule#LabelUtils","constructorArgs":[],"contractName":"LabelUtils","dependencies":[],"from":"0x4a8e79e5258592f208ddba8a8a0d3ffeb051b10a","futureId":"NFTResolverModule#LabelUtils","futureType":"NAMED_ARTIFACT_LIBRARY_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"artifactId":"NFTResolverModule#LabelUtils","constructorArgs":[],"contractName":"LabelUtils","dependencies":[],"from":"0x644e1ce71a6aff1fc52955214df978dbb28f7a97","futureId":"NFTResolverModule#LabelUtils","futureType":"NAMED_ARTIFACT_LIBRARY_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} {"futureId":"NFTResolverModule#LabelUtils","networkInteraction":{"data":"0x610930610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c806308dea91d1461005b5780634062ace31461008b57806394bc2db6146100bb578063e5c4cf73146100eb575b600080fd5b610075600480360381019061007091906105cb565b61011b565b604051610082919061062d565b60405180910390f35b6100a560048036038101906100a091906105cb565b610209565b6040516100b2919061062d565b60405180910390f35b6100d560048036038101906100d091906105cb565b61028a565b6040516100e291906106c7565b60405180910390f35b610105600480360381019061010091906105cb565b6103a6565b6040516101129190610704565b60405180910390f35b600080600090506000805b84518110156101be5760008582815181106101445761014361071f565b5b602001015160f81c60f81b60f81c905060308160ff161015801561016c575060398160ff1611155b156101a35760308161017e919061078a565b60ff16600a8561018e91906107bf565b6101989190610801565b9350600192506101b0565b82156101af57506101be565b5b508080600101915050610126565b50806101ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f690610892565b60405180910390fd5b8192505050919050565b6000806000905060005b83518110156102805760008482815181106102315761023061071f565b5b602001015160f81c60f81b60f81c60ff169050600081036102525750610280565b828061025d906108b2565b93505060018161026d9190610801565b826102789190610801565b915050610213565b8192505050919050565b60606000808382815181106102a2576102a161071f565b5b602001015160f81c60f81b60f81c905081806102bd906108b2565b92505060008160ff1667ffffffffffffffff8111156102df576102de6104a0565b5b6040519080825280601f01601f1916602001820160405280156103115781602001600182028036833780820191505090505b50905060005b8260ff1681101561039a5785818561032f9190610801565b815181106103405761033f61071f565b5b602001015160f81c60f81b82828151811061035e5761035d61071f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610317565b50809350505050919050565b600080600090505b825181101561046657603060f81b8382815181106103cf576103ce61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916108061044a5750603960f81b83828151811061041b5761041a61071f565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916115b1561045957600091505061046c565b80806001019150506103ae565b50600190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6104d88261048f565b810181811067ffffffffffffffff821117156104f7576104f66104a0565b5b80604052505050565b600061050a610471565b905061051682826104cf565b919050565b600067ffffffffffffffff821115610536576105356104a0565b5b61053f8261048f565b9050602081019050919050565b82818337600083830152505050565b600061056e6105698461051b565b610500565b90508281526020810184848401111561058a5761058961048a565b5b61059584828561054c565b509392505050565b600082601f8301126105b2576105b1610485565b5b81356105c284826020860161055b565b91505092915050565b6000602082840312156105e1576105e061047b565b5b600082013567ffffffffffffffff8111156105ff576105fe610480565b5b61060b8482850161059d565b91505092915050565b6000819050919050565b61062781610614565b82525050565b6000602082019050610642600083018461061e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610682578082015181840152602081019050610667565b60008484015250505050565b600061069982610648565b6106a38185610653565b93506106b3818560208601610664565b6106bc8161048f565b840191505092915050565b600060208201905081810360008301526106e1818461068e565b905092915050565b60008115159050919050565b6106fe816106e9565b82525050565b600060208201905061071960008301846106f5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107958261074e565b91506107a08361074e565b9250828203905060ff8111156107b9576107b861075b565b5b92915050565b60006107ca82610614565b91506107d583610614565b92508282026107e381610614565b915082820484148315176107fa576107f961075b565b5b5092915050565b600061080c82610614565b915061081783610614565b925082820190508082111561082f5761082e61075b565b5b92915050565b600082825260208201905092915050565b7f4e6f206e756d657269632073756666697820666f756e64000000000000000000600082015250565b600061087c601783610835565b915061088782610846565b602082019050919050565b600060208201905081810360008301526108ab8161086f565b9050919050565b60006108bd82610614565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee61075b565b5b60018201905091905056fea2646970667358221220ed6a9e0a1dc1e9b8eb0165073e493bfe8b5dec6f75f400aa83268538b52161f964736f6c63430008190033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"NFTResolverModule#LabelUtils","networkInteractionId":1,"nonce":322,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"64141133604"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"562044486"}},"hash":"0xdc46e3ccad002bc232bce69eee76e0befd347bffd03a6bbef2407b954db097f8"},"type":"TRANSACTION_SEND"} -{"futureId":"NFTResolverModule#LabelUtils","hash":"0xdc46e3ccad002bc232bce69eee76e0befd347bffd03a6bbef2407b954db097f8","networkInteractionId":1,"receipt":{"blockHash":"0x6ae937e3b8e8b7451a0207ace3e2d8aae001162438a937b4571aca01f278afe1","blockNumber":6619352,"contractAddress":"0x013699d4A890DD3F121649A48b40Ad385acCdDE8","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"NFTResolverModule#LabelUtils","result":{"address":"0x013699d4A890DD3F121649A48b40Ad385acCdDE8","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"NFTResolverModule#NFTResolver","constructorArgs":["0x17289b2e80DcaB38249adb5a2Bd1a0cAF12361A0","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e","0x0635513f179D50A207757E05759CbD106d7dFcE8",11155111,"0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],"contractName":"NFTResolver","dependencies":["NFTResolverModule#LabelUtils"],"from":"0x4a8e79e5258592f208ddba8a8a0d3ffeb051b10a","futureId":"NFTResolverModule#NFTResolver","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{"LabelUtils":"0x013699d4A890DD3F121649A48b40Ad385acCdDE8"},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"NFTResolverModule#NFTResolver","networkInteraction":{"data":"0x61012060405234801561001157600080fd5b50604051613c60380380613c60833981810160405281019061003391906103b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100999061048e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906104fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017790610566565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508160e081815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250505050505050610586565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061029382610268565b9050919050565b60006102a582610288565b9050919050565b6102b58161029a565b81146102c057600080fd5b50565b6000815190506102d2816102ac565b92915050565b60006102e382610288565b9050919050565b6102f3816102d8565b81146102fe57600080fd5b50565b600081519050610310816102ea565b92915050565b600061032182610288565b9050919050565b61033181610316565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000819050919050565b61036781610354565b811461037257600080fd5b50565b6000815190506103848161035e565b92915050565b61039381610288565b811461039e57600080fd5b50565b6000815190506103b08161038a565b92915050565b600080600080600060a086880312156103d2576103d1610263565b5b60006103e0888289016102c3565b95505060206103f188828901610301565b94505060406104028882890161033f565b935050606061041388828901610375565b9250506080610424888289016103a1565b9150509295509295909350565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b6000610478602083610431565b915061048382610442565b602082019050919050565b600060208201905081810360008301526104a78161046b565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b60006104e4601c83610431565b91506104ef826104ae565b602082019050919050565b60006020820190508181036000830152610513816104d7565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b6000610550601c83610431565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b60805160a05160c05160e0516101005161366c6105f460003960008181610dbe0152611006015260008181610cd501526112f8015260008181610b85015281816111ce0152611221015260008181610653015261113201526000818161062f01526110d7015261366c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073013699d4A890DD3F121649A48b40Ad385acCdDE86394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073013699d4A890DD3F121649A48b40Ad385acCdDE863e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73013699d4A890DD3F121649A48b40Ad385acCdDE86308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373013699d4A890DD3F121649A48b40Ad385acCdDE8634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c6343000819003300000000000000000000000017289b2e80dcab38249adb5a2bd1a0caf12361a000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000635513f179d50a207757e05759cbd106d7dfce80000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000008fade66b79cc9f707ab26799354482eb93a5b7dd","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"NFTResolverModule#NFTResolver","networkInteractionId":1,"nonce":323,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"67246301476"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"562044486"}},"hash":"0x3e19c773f85f74e737a3a55d9ed16d4a9e05d3859beef62fa0e79eb3771f3f77"},"type":"TRANSACTION_SEND"} -{"futureId":"NFTResolverModule#NFTResolver","hash":"0x3e19c773f85f74e737a3a55d9ed16d4a9e05d3859beef62fa0e79eb3771f3f77","networkInteractionId":1,"receipt":{"blockHash":"0x5cda22bed84781d9559b704f2f99664be1b460e43433476f4cd3390ff3a542b7","blockNumber":6619357,"contractAddress":"0x2a294DfEa311DAC887b790aB543B9CE2f12E67E8","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"NFTResolverModule#NFTResolver","result":{"address":"0x2a294DfEa311DAC887b790aB543B9CE2f12E67E8","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file +{"futureId":"NFTResolverModule#LabelUtils","networkInteractionId":1,"nonce":454,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"130214222847"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"97612273"}},"hash":"0x757e8566cf0a64294282db093fafa166c7f1acdadd8970981b7b3980e0e4639d"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#LabelUtils","hash":"0x757e8566cf0a64294282db093fafa166c7f1acdadd8970981b7b3980e0e4639d","networkInteractionId":1,"receipt":{"blockHash":"0x7237c9d28da5881a511b672d91d0e1c783d753c14411e6d0bf0ace0f0b99a1a0","blockNumber":6630749,"contractAddress":"0xc7e61F7442eb4a4672fbD768353d865578F9Be49","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#LabelUtils","result":{"address":"0xc7e61F7442eb4a4672fbD768353d865578F9Be49","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"NFTResolverModule#NFTResolver","constructorArgs":["0x17289b2e80DcaB38249adb5a2Bd1a0cAF12361A0","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e","0x0635513f179D50A207757E05759CbD106d7dFcE8",11155111],"contractName":"NFTResolver","dependencies":["NFTResolverModule#LabelUtils"],"from":"0x644e1ce71a6aff1fc52955214df978dbb28f7a97","futureId":"NFTResolverModule#NFTResolver","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{"LabelUtils":"0xc7e61F7442eb4a4672fbD768353d865578F9Be49"},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"NFTResolverModule#NFTResolver","networkInteraction":{"data":"0x61010060405234801561001157600080fd5b5060405161403638038061403683398181016040528101906100339190610354565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009990610418565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010890610484565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906104f0565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e0818152505050505050610510565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025d82610232565b9050919050565b600061026f82610252565b9050919050565b61027f81610264565b811461028a57600080fd5b50565b60008151905061029c81610276565b92915050565b60006102ad82610252565b9050919050565b6102bd816102a2565b81146102c857600080fd5b50565b6000815190506102da816102b4565b92915050565b60006102eb82610252565b9050919050565b6102fb816102e0565b811461030657600080fd5b50565b600081519050610318816102f2565b92915050565b6000819050919050565b6103318161031e565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000806000806080858703121561036e5761036d61022d565b5b600061037c8782880161028d565b945050602061038d878288016102cb565b935050604061039e87828801610309565b92505060606103af8782880161033f565b91505092959194509250565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b60006104026020836103bb565b915061040d826103cc565b602082019050919050565b60006020820190508181036000830152610431816103f5565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b600061046e601c836103bb565b915061047982610438565b602082019050919050565b6000602082019050818103600083015261049d81610461565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b60006104da601c836103bb565b91506104e5826104a4565b602082019050919050565b60006020820190508181036000830152610509816104cd565b9050919050565b60805160a05160c05160e051613aca61056c60003960008181610fb50152611594015260008181610be50152818161146a01526114bd01526000818161067801526113ce01526000818161065401526113720152613aca6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639061b92311610097578063d358df7711610066578063d358df771461029b578063d6ae3cd5146102b7578063f00eebf4146102d5578063f470901a14610305576100f5565b80639061b92314610215578063a8e5fbc014610245578063ac177c3714610263578063ac8a4a5d1461027f576100f5565b80632b7ac3f3116100d35780632b7ac3f31461018b5780633f15457f146101a95780635bdaa916146101c75780636d74e86e146101f7576100f5565b806301ffc9a7146100fa57806315f643861461012a5780631a33ddae1461015b575b600080fd5b610114600480360381019061010f9190611da4565b610335565b6040516101219190611dec565b60405180910390f35b610144600480360381019061013f9190611f4d565b61047f565b604051610152929190611ff0565b60405180910390f35b61017560048036038101906101709190612079565b610496565b60405161018291906120df565b60405180910390f35b610193610652565b6040516101a09190612159565b60405180910390f35b6101b1610676565b6040516101be9190612195565b60405180910390f35b6101e160048036038101906101dc91906121b0565b61069a565b6040516101ee91906122b0565b60405180910390f35b6101ff610854565b60405161020c91906120df565b60405180910390f35b61022f600480360381019061022a91906121b0565b61085f565b60405161023c91906122b0565b60405180910390f35b61024d610be3565b60405161025a91906122f3565b60405180910390f35b61027d6004803603810190610278919061233a565b610c07565b005b610299600480360381019061029491906123c6565b610d5c565b005b6102b560048036038101906102b091906123c6565b610e87565b005b6102bf610fb3565b6040516102cc91906120df565b60405180910390f35b6102ef60048036038101906102ea91906123c6565b610fd7565b6040516102fc91906122b0565b60405180910390f35b61031f600480360381019061031a9190612507565b61103e565b60405161032c91906122b0565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061040057507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046857507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061047857506104778261109c565b5b9050919050565b60008061048d836000611106565b91509150915091565b60008073c7e61F7442eb4a4672fbD768353d865578F9Be496394bc2db685856040518363ffffffff1660e01b81526004016104d29291906125bd565b600060405180830381865af41580156104ef573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906105189190612651565b905073c7e61F7442eb4a4672fbD768353d865578F9Be4963e5c4cf73826040518263ffffffff1660e01b815260040161055191906126d3565b602060405180830381865af415801561056e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612721565b6105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c8906127ab565b60405180910390fd5b73c7e61F7442eb4a4672fbD768353d865578F9Be496308dea91d826040518263ffffffff1660e01b815260040161060891906126d3565b602060405180830381865af4158015610625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064991906127e0565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106ad9190611f4d565b905060008060008060008089898101906106c79190612978565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106fd610854565b6040518663ffffffff1660e01b815260040161071d959493929190612c23565b600060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107639190612d40565b905084518151146107af57805185516040517f291894250000000000000000000000000000000000000000000000000000000081526004016107a6929190612d89565b60405180910390fd5b600061084a8483856040516024016107c8929190612db2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff1661126f90919063ffffffff16565b9050805160208201f35b600062015180905090565b606060048383905010156108a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089f90612e35565b60405180910390fd5b6000838360049080926108bd93929190612e5f565b8101906108ca9190612e9a565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109c85760006001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109be8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506112bb565b9350505050610bdb565b600373c7e61F7442eb4a4672fbD768353d865578F9Be49634062ace389896040518363ffffffff1660e01b8152600401610a039291906125bd565b602060405180830381865af4158015610a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4491906127e0565b1115610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90612f13565b60405180910390fd5b6000610ad688888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b9150506000868690610ae89190612f4b565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ba0576000610b428a8a610496565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610b93828286611348565b9650505050505050610bdb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff6565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610c5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610c62816113c9565b610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613088565b60405180910390fd5b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fd24dbac998cb2d343fb2b7fe7c54b44de845182ff5c7b461ef274afee047b5e78184604051610d4d9291906130a8565b60405180910390a15050505050565b6000610dab84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610db7816113c9565b610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90613143565b60405180910390fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0704dfb2f4b8f24190956226460d0667a92b988de5055430d52e6b0315922e2c8183604051610e79929190611ff0565b60405180910390a150505050565b6000610ed684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061047f565b509050610ee2816113c9565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f18906131d5565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610fa593929190613222565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600061102a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611106565b91505061103681611592565b509392505050565b606060008360008151811061105657611055613254565b5b60200260200101518060200190518101906110719190613298565b90508060405160200161108491906132c5565b60405160208183030381529060405291505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080600061111e84866115f190919063ffffffff16565b60ff1690506000801b92506000811115611256576000611155600186611144919061330f565b838861161c9092919063ffffffff16565b90506111788660018488611169919061330f565b611173919061330f565b611106565b80945081955050508381604051602001611193929190613364565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611250578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050611268565b50611266565b6000801b60009250925050611268565b505b9250929050565b60606112b3838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611648565b905092915050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516112e591906133cc565b600060405180830381855afa9150503d8060008114611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5091509150811561133a578092505050611342565b805160208201fd5b92915050565b60606113c263f470901a60e01b604051806020016040528060008152506113b3876113a5886113977f00000000000000000000000000000000000000000000000000000000000000008a611715565b61182490919063ffffffff16565b61190590919063ffffffff16565b6119869092919063ffffffff16565b9392505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161142591906133e3565b602060405180830381865afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190613413565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161151791906120df565b602060405180830381865afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190613413565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a050710000000000000000000000000000000000000000000000000000000081526004016115e8929190613440565b60405180910390fd5b600082828151811061160657611605613254565b5b602001015160f81c60f81b60f81c905092915050565b60008351828461162c919061330f565b111561163757600080fd5b818360208601012090509392505050565b60608247101561168d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611684906134db565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116b691906133cc565b60006040518083038185875af1925050503d80600081146116f3576040519150601f19603f3d011682016040523d82523d6000602084013e6116f8565b606091505b509150915061170987838387611b11565b92505050949350505050565b61171d611cdd565b6000602067ffffffffffffffff81111561173a57611739611e22565b5b6040519080825280602002602001820160405280156117685781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff81111561178857611787611e22565b5b6040519080825280602002602001820160405280156117bb57816020015b60608152602001906001900390816117a65790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b61182c611cdd565b60008360400151905060008151905060008111801561184f575060208560600151105b156118605761185f8560ff611b86565b5b600181018252602085604001515111156118b25760206040517f128e70080000000000000000000000000000000000000000000000000000000081526004016118a991906120df565b60405180910390fd5b60008560600181815250506118c8856000611b86565b6118fa856118f587876040516020016118e191906120df565b604051602081830303815290604052611c2d565b611b86565b849250505092915050565b61190d611cdd565b602083606001511061194b576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61197d83611978858560405160200161196491906120df565b604051602081830303815290604052611c2d565b611b86565b82905092915050565b600083604001515111801561199f575060208360600151105b156119b0576119af8360ff611b86565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a00573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a29919061367d565b846020015185604001518660800151604051602401611a4a939291906136c6565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611ac29695949392919061371a565b6040516020818303038152906040526040517f556f1830000000000000000000000000000000000000000000000000000000008152600401611b089594939291906138a7565b60405180910390fd5b60608315611b73576000835103611b6b57611b2b85611c6a565b611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b619061395b565b60405180910390fd5b5b829050611b7e565b611b7d8383611c8d565b5b949350505050565b60006001836040015151611b9a919061397b565b9050826060018051809190611bae906139af565b8152506008611bbd91906139f7565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c83604001518281518110611bfc57611bfb613254565b5b60200260200101511783604001518281518110611c1c57611c1b613254565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff1681518110611c5857611c57613254565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611ca05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd49190613a72565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d8181611d4c565b8114611d8c57600080fd5b50565b600081359050611d9e81611d78565b92915050565b600060208284031215611dba57611db9611d42565b5b6000611dc884828501611d8f565b91505092915050565b60008115159050919050565b611de681611dd1565b82525050565b6000602082019050611e016000830184611ddd565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e5a82611e11565b810181811067ffffffffffffffff82111715611e7957611e78611e22565b5b80604052505050565b6000611e8c611d38565b9050611e988282611e51565b919050565b600067ffffffffffffffff821115611eb857611eb7611e22565b5b611ec182611e11565b9050602081019050919050565b82818337600083830152505050565b6000611ef0611eeb84611e9d565b611e82565b905082815260208101848484011115611f0c57611f0b611e0c565b5b611f17848285611ece565b509392505050565b600082601f830112611f3457611f33611e07565b5b8135611f44848260208601611edd565b91505092915050565b600060208284031215611f6357611f62611d42565b5b600082013567ffffffffffffffff811115611f8157611f80611d47565b5b611f8d84828501611f1f565b91505092915050565b6000819050919050565b611fa981611f96565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fda82611faf565b9050919050565b611fea81611fcf565b82525050565b60006040820190506120056000830185611fa0565b6120126020830184611fe1565b9392505050565b600080fd5b600080fd5b60008083601f84011261203957612038611e07565b5b8235905067ffffffffffffffff81111561205657612055612019565b5b6020830191508360018202830111156120725761207161201e565b5b9250929050565b600080602083850312156120905761208f611d42565b5b600083013567ffffffffffffffff8111156120ae576120ad611d47565b5b6120ba85828601612023565b92509250509250929050565b6000819050919050565b6120d9816120c6565b82525050565b60006020820190506120f460008301846120d0565b92915050565b6000819050919050565b600061211f61211a61211584611faf565b6120fa565b611faf565b9050919050565b600061213182612104565b9050919050565b600061214382612126565b9050919050565b61215381612138565b82525050565b600060208201905061216e600083018461214a565b92915050565b600061217f82612126565b9050919050565b61218f81612174565b82525050565b60006020820190506121aa6000830184612186565b92915050565b600080600080604085870312156121ca576121c9611d42565b5b600085013567ffffffffffffffff8111156121e8576121e7611d47565b5b6121f487828801612023565b9450945050602085013567ffffffffffffffff81111561221757612216611d47565b5b61222387828801612023565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226b578082015181840152602081019050612250565b60008484015250505050565b600061228282612231565b61228c818561223c565b935061229c81856020860161224d565b6122a581611e11565b840191505092915050565b600060208201905081810360008301526122ca8184612277565b905092915050565b60006122dd82612126565b9050919050565b6122ed816122d2565b82525050565b600060208201905061230860008301846122e4565b92915050565b612317816120c6565b811461232257600080fd5b50565b6000813590506123348161230e565b92915050565b60008060006040848603121561235357612352611d42565b5b600084013567ffffffffffffffff81111561237157612370611d47565b5b61237d86828701612023565b9350935050602061239086828701612325565b9150509250925092565b6123a381611fcf565b81146123ae57600080fd5b50565b6000813590506123c08161239a565b92915050565b6000806000604084860312156123df576123de611d42565b5b600084013567ffffffffffffffff8111156123fd576123fc611d47565b5b61240986828701612023565b9350935050602061241c868287016123b1565b9150509250925092565b600067ffffffffffffffff82111561244157612440611e22565b5b602082029050602081019050919050565b600061246561246084612426565b611e82565b905080838252602082019050602084028301858111156124885761248761201e565b5b835b818110156124cf57803567ffffffffffffffff8111156124ad576124ac611e07565b5b8086016124ba8982611f1f565b8552602085019450505060208101905061248a565b5050509392505050565b600082601f8301126124ee576124ed611e07565b5b81356124fe848260208601612452565b91505092915050565b6000806040838503121561251e5761251d611d42565b5b600083013567ffffffffffffffff81111561253c5761253b611d47565b5b612548858286016124d9565b925050602083013567ffffffffffffffff81111561256957612568611d47565b5b61257585828601611f1f565b9150509250929050565b600082825260208201905092915050565b600061259c838561257f565b93506125a9838584611ece565b6125b283611e11565b840190509392505050565b600060208201905081810360008301526125d8818486612590565b90509392505050565b60006125f46125ef84611e9d565b611e82565b9050828152602081018484840111156126105761260f611e0c565b5b61261b84828561224d565b509392505050565b600082601f83011261263857612637611e07565b5b81516126488482602086016125e1565b91505092915050565b60006020828403121561266757612666611d42565b5b600082015167ffffffffffffffff81111561268557612684611d47565b5b61269184828501612623565b91505092915050565b60006126a582612231565b6126af818561257f565b93506126bf81856020860161224d565b6126c881611e11565b840191505092915050565b600060208201905081810360008301526126ed818461269a565b905092915050565b6126fe81611dd1565b811461270957600080fd5b50565b60008151905061271b816126f5565b92915050565b60006020828403121561273757612736611d42565b5b60006127458482850161270c565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b600061279560158361274e565b91506127a08261275f565b602082019050919050565b600060208201905081810360008301526127c481612788565b9050919050565b6000815190506127da8161230e565b92915050565b6000602082840312156127f6576127f5611d42565b5b6000612804848285016127cb565b91505092915050565b600061281882611fcf565b9050919050565b6128288161280d565b811461283357600080fd5b50565b6000813590506128458161281f565b92915050565b600061285682611faf565b9050919050565b6128668161284b565b811461287157600080fd5b50565b6000813590506128838161285d565b92915050565b600067ffffffffffffffff8211156128a4576128a3611e22565b5b602082029050602081019050919050565b6128be81611f96565b81146128c957600080fd5b50565b6000813590506128db816128b5565b92915050565b60006128f46128ef84612889565b611e82565b905080838252602082019050602084028301858111156129175761291661201e565b5b835b81811015612940578061292c88826128cc565b845260208401935050602081019050612919565b5050509392505050565b600082601f83011261295f5761295e611e07565b5b813561296f8482602086016128e1565b91505092915050565b60008060008060008060c0878903121561299557612994611d42565b5b60006129a389828a01612836565b96505060206129b489828a01612874565b955050604087013567ffffffffffffffff8111156129d5576129d4611d47565b5b6129e189828a0161294a565b945050606087013567ffffffffffffffff811115612a0257612a01611d47565b5b612a0e89828a016124d9565b9350506080612a1f89828a01611d8f565b92505060a087013567ffffffffffffffff811115612a4057612a3f611d47565b5b612a4c89828a01611f1f565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a8e81611f96565b82525050565b6000612aa08383612a85565b60208301905092915050565b6000602082019050919050565b6000612ac482612a59565b612ace8185612a64565b9350612ad983612a75565b8060005b83811015612b0a578151612af18882612a94565b9750612afc83612aac565b925050600181019050612add565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000612b5f82612231565b612b698185612b43565b9350612b7981856020860161224d565b612b8281611e11565b840191505092915050565b6000612b998383612b54565b905092915050565b6000602082019050919050565b6000612bb982612b17565b612bc38185612b22565b935083602082028501612bd585612b33565b8060005b85811015612c115784840389528151612bf28582612b8d565b9450612bfd83612ba1565b925060208a01995050600181019050612bd9565b50829750879550505050505092915050565b600060a082019050612c386000830188611fe1565b8181036020830152612c4a8187612ab9565b90508181036040830152612c5e8186612bae565b90508181036060830152612c728185612277565b9050612c8160808301846120d0565b9695505050505050565b6000612c9e612c9984612426565b611e82565b90508083825260208201905060208402830185811115612cc157612cc061201e565b5b835b81811015612d0857805167ffffffffffffffff811115612ce657612ce5611e07565b5b808601612cf38982612623565b85526020850194505050602081019050612cc3565b5050509392505050565b600082601f830112612d2757612d26611e07565b5b8151612d37848260208601612c8b565b91505092915050565b600060208284031215612d5657612d55611d42565b5b600082015167ffffffffffffffff811115612d7457612d73611d47565b5b612d8084828501612d12565b91505092915050565b6000604082019050612d9e60008301856120d0565b612dab60208301846120d0565b9392505050565b60006040820190508181036000830152612dcc8185612bae565b90508181036020830152612de08184612277565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612e1f60148361274e565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b600080fd5b600080fd5b60008085851115612e7357612e72612e55565b5b83861115612e8457612e83612e5a565b5b6001850283019150848603905094509492505050565b600060208284031215612eb057612eaf611d42565b5b6000612ebe848285016128cc565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612efd60198361274e565b9150612f0882612ec7565b602082019050919050565b60006020820190508181036000830152612f2c81612ef0565b9050919050565b600082905092915050565b600082821b905092915050565b6000612f578383612f33565b82612f628135611d4c565b92506004821015612fa257612f9d7fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612f3e565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612fe060108361274e565b9150612feb82612faa565b602082019050919050565b6000602082019050818103600083015261300f81612fd3565b9050919050565b7f4e6f7420617574686f72697a656420746f20736574207461726765742061646460008201527f7265737320736c6f7420666f722074686973206e6f6465000000000000000000602082015250565b600061307260378361274e565b915061307d82613016565b604082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b60006040820190506130bd6000830185611fe1565b6130ca60208301846120d0565b9392505050565b7f4e6f7420617574686f72697a656420746f20736574207265736f6c766572206660008201527f6f722074686973206e6f64650000000000000000000000000000000000000000602082015250565b600061312d602c8361274e565b9150613138826130d1565b604082019050919050565b6000602082019050818103600083015261315c81613120565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b60006131bf602a8361274e565b91506131ca82613163565b604082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b6000613201838561223c565b935061320e838584611ece565b61321783611e11565b840190509392505050565b6000604082019050818103600083015261323d8185876131f5565b905061324c6020830184611fe1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506132928161285d565b92915050565b6000602082840312156132ae576132ad611d42565b5b60006132bc84828501613283565b91505092915050565b60006020820190506132da6000830184611fe1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061331a826120c6565b9150613325836120c6565b925082820190508082111561333d5761333c6132e0565b5b92915050565b6000819050919050565b61335e61335982611f96565b613343565b82525050565b6000613370828561334d565b602082019150613380828461334d565b6020820191508190509392505050565b600081905092915050565b60006133a682612231565b6133b08185613390565b93506133c081856020860161224d565b80840191505092915050565b60006133d8828461339b565b915081905092915050565b60006020820190506133f86000830184611fa0565b92915050565b60008151905061340d8161239a565b92915050565b60006020828403121561342957613428611d42565b5b6000613437848285016133fe565b91505092915050565b600060408201905061345560008301856120d0565b6134626020830184611fe1565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006134c560268361274e565b91506134d082613469565b604082019050919050565b600060208201905081810360008301526134f4816134b8565b9050919050565b600067ffffffffffffffff82111561351657613515611e22565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561354257613541611e22565b5b61354b82611e11565b9050602081019050919050565b600061356b61356684613527565b611e82565b90508281526020810184848401111561358757613586611e0c565b5b61359284828561224d565b509392505050565b600082601f8301126135af576135ae611e07565b5b81516135bf848260208601613558565b91505092915050565b60006135db6135d6846134fb565b611e82565b905080838252602082019050602084028301858111156135fe576135fd61201e565b5b835b8181101561364557805167ffffffffffffffff81111561362357613622611e07565b5b808601613630898261359a565b85526020850194505050602081019050613600565b5050509392505050565b600082601f83011261366457613663611e07565b5b81516136748482602086016135c8565b91505092915050565b60006020828403121561369357613692611d42565b5b600082015167ffffffffffffffff8111156136b1576136b0611d47565b5b6136bd8482850161364f565b91505092915050565b60006060820190506136db6000830186611fe1565b81810360208301526136ed8185612ab9565b905081810360408301526137018184612bae565b9050949350505050565b61371481611d4c565b82525050565b600060c08201905061372f600083018961214a565b61373c6020830188611fe1565b818103604083015261374e8187612ab9565b905081810360608301526137628186612bae565b9050613771608083018561370b565b81810360a08301526137838184612277565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006137e3826137bc565b6137ed81856137c7565b93506137fd81856020860161224d565b61380681611e11565b840191505092915050565b600061381d83836137d8565b905092915050565b6000602082019050919050565b600061383d82613790565b613847818561379b565b935083602082028501613859856137ac565b8060005b8581101561389557848403895281516138768582613811565b945061388183613825565b925060208a0199505060018101905061385d565b50829750879550505050505092915050565b600060a0820190506138bc6000830188611fe1565b81810360208301526138ce8187613832565b905081810360408301526138e28186612277565b90506138f1606083018561370b565b81810360808301526139038184612277565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613945601d8361274e565b91506139508261390f565b602082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b6000613986826120c6565b9150613991836120c6565b92508282039050818111156139a9576139a86132e0565b5b92915050565b60006139ba826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ec576139eb6132e0565b5b600182019050919050565b6000613a02826120c6565b9150613a0d836120c6565b9250828202613a1b816120c6565b91508282048414831517613a3257613a316132e0565b5b5092915050565b6000613a44826137bc565b613a4e818561274e565b9350613a5e81856020860161224d565b613a6781611e11565b840191505092915050565b60006020820190508181036000830152613a8c8184613a39565b90509291505056fea264697066735822122000259d7d2476cac1e182a62cc9ddb39e660a13e8a7da9cd96a986379f70eab8e64736f6c6343000819003300000000000000000000000017289b2e80dcab38249adb5a2bd1a0caf12361a000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000635513f179d50a207757e05759cbd106d7dfce80000000000000000000000000000000000000000000000000000000000aa36a7","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"NFTResolverModule#NFTResolver","networkInteractionId":1,"nonce":455,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"115741216995"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"97612273"}},"hash":"0x00f4702733eb953db498d258b3c8f9dae4c6e9508f3b4686d89fbf73f86fc9d7"},"type":"TRANSACTION_SEND"} +{"futureId":"NFTResolverModule#NFTResolver","hash":"0x00f4702733eb953db498d258b3c8f9dae4c6e9508f3b4686d89fbf73f86fc9d7","networkInteractionId":1,"receipt":{"blockHash":"0x0bc5b6eac4ffbfced40687b7b8273ba85ff0fe4b4c09ce63be926a7f3c37207c","blockNumber":6630754,"contractAddress":"0xE347fd1464068454E070B6853Bd1fc3efB72422e","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"NFTResolverModule#NFTResolver","result":{"address":"0xE347fd1464068454E070B6853Bd1fc3efB72422e","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/ignition/modules/NFTResolver.ts b/ignition/modules/NFTResolver.ts index 9461404..ed3c583 100644 --- a/ignition/modules/NFTResolver.ts +++ b/ignition/modules/NFTResolver.ts @@ -8,7 +8,6 @@ const NFTResolverModule = buildModule("NFTResolverModule", (m) => { let verifierAddress: string; let ensAddress; let wrapperAddress: string; - let publicResolverAddress: string; switch (networkName) { case "sepolia": @@ -17,13 +16,11 @@ const NFTResolverModule = buildModule("NFTResolverModule", (m) => { verifierAddress = "0x17289b2e80DcaB38249adb5a2Bd1a0cAF12361A0"; ensAddress = "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"; wrapperAddress = "0x0635513f179D50A207757E05759CbD106d7dFcE8"; - publicResolverAddress = "0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"; break; case "mainnet": verifierAddress = "0x2aD1A39a3b616FB11ac5DB290061A0A5C09771f3"; ensAddress = "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"; wrapperAddress = "0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401"; - publicResolverAddress = "0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63"; break; default: throw "Network not supported"; @@ -36,13 +33,7 @@ const NFTResolverModule = buildModule("NFTResolverModule", (m) => { const labelUtils = m.library("LabelUtils"); const nftResolver = m.contract( "NFTResolver", - [ - verifierAddress, - ensAddress, - wrapperAddress, - chainId, - publicResolverAddress, - ], + [verifierAddress, ensAddress, wrapperAddress, chainId], { libraries: { LabelUtils: labelUtils } } ); diff --git a/test/NFTResolver.ts b/test/NFTResolver.ts index 3ba025e..118acbc 100644 --- a/test/NFTResolver.ts +++ b/test/NFTResolver.ts @@ -80,6 +80,7 @@ describe("NFT Resolver", () => { let rollup: RollupMock; let signerAddress: string; let l2NFTContractAddress: string; + let publicResolverAddress: string; before(async () => { // Hack to get a 'real' ethers provider from hardhat. The default `HardhatProvider` @@ -204,7 +205,7 @@ describe("NFT Resolver", () => { ); await publicResolver.setAddr(node, signerAddress); - const publicResolverAddress = await publicResolver.getAddress(); + publicResolverAddress = await publicResolver.getAddress(); await reverseRegistrar.setDefaultResolver(publicResolverAddress); await l1Provider.send("evm_mine", []); @@ -244,8 +245,7 @@ describe("NFT Resolver", () => { verifierAddress, ensAddress, "0x0000000000000000000000000000000000000001", - 59141, - publicResolverAddress + 59141 ); // Mine an empty block so we have something to prove against await l1Provider.send("evm_mine", []); @@ -259,12 +259,21 @@ describe("NFT Resolver", () => { it("should not allow non owner to set target", async () => { const incorrectname = encodeName("notowned.eth"); - try { - await target.setTarget(incorrectname, l2NFTContractAddress); - throw "Should have reverted"; - } catch (e: any) { - expect(e.reason).equal("Not authorized to set target for this node"); - } + + await expect( + target.setTarget(incorrectname, l2NFTContractAddress) + ).to.be.revertedWith("Not authorized to set target for this node"); + + const result = await target.getTarget(incorrectname); + expect(result[1]).to.equal(EMPTY_ADDRESS); + }); + + it("should not allow non owner to set base node resolver", async () => { + const incorrectname = encodeName("notowned.eth"); + + await expect( + target.setBaseNodeResolver(incorrectname, l2NFTContractAddress) + ).to.be.revertedWith("Not authorized to set resolver for this node"); const result = await target.getTarget(incorrectname); expect(result[1]).to.equal(EMPTY_ADDRESS); @@ -313,6 +322,8 @@ describe("NFT Resolver", () => { await target.setTarget(encodedname, l2NFTContractAddress); const result = await l2NFTContract["ownerOf(uint256)"](nftId); expect(ethers.getAddress(result)).to.equal(registrantAddr); + await target.setBaseNodeResolver(encodedname, publicResolverAddress); + await target.setTargetAddrSlot(encodedname, 2); await l1Provider.send("evm_mine", []); const i = new ethers.Interface(["function addr(bytes32) returns(address)"]);