witnet-solidity-bridge
Version:
Witnet Solidity Bridge contracts for EVM-compatible chains
1 lines • 326 kB
JSON
{"_format":"hh3-sol-build-info-output-1","id":"solc-0_8_25-ce8172167daa48b4892afaba6c32c75ec477f9f8","output":{"contracts":{"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol":{"Initializable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor constructor() { _disableInitializers(); } ``` ====\",\"details\":\"This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ```solidity contract MyToken is ERC20Upgradeable { function initialize() initializer public { __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\"); } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { function initializeV2() reinitializer(2) public { __ERC20Permit_init(\\\"MyToken\\\"); } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]}},\"version\":1}"}},"npm/@openzeppelin/contracts@5.4.0/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 ERC-165 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); } ```\",\"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[ERC 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\":{\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}"}},"npm/@openzeppelin/contracts@5.4.0/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 ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. 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[ERC 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\":{\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}"}},"project/contracts/core/WitnetProxy.sol":{"WitnetProxy":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"},{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"upgradeTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_318":{"entryPoint":null,"id":318,"parameterSlots":0,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b506109e58061001f6000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100655780636fbc15e91461009757610034565b3661003457005b600061003e6100c7565b905060405136600082376000803683855af43d806000843e818015610061578184f35b8184fd5b34801561007157600080fd5b5061007a6100c7565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100a357600080fd5b506100b76100b2366004610791565b6100f5565b604051901515815260200161008e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60006001600160a01b0383166101525760405162461bcd60e51b815260206004820181905260248201527f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e60448201526064015b60405180910390fd5b600061015c6100c7565b90506001600160a01b0381161561050857806001600160a01b0316846001600160a01b0316036101ce5760405162461bcd60e51b815260206004820152601f60248201527f5769746e657450726f78793a206e6f7468696e6720746f2075706772616465006044820152606401610149565b806001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610228575060408051601f3d908101601f1916820190925261022591810190610830565b60015b6102875760405162461bcd60e51b815260206004820152602a60248201527f5769746e657450726f78793a20756e61626c6520746f20636865636b207570676044820152697261646162696c69747960b01b6064820152608401610149565b806102d45760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f742075706772616461626c6500000000006044820152606401610149565b5060405133602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180516001600160e01b03166335ac4b0560e11b17905251610326919061087d565b600060405180830381855af49150503d8060008114610361576040519150601f19603f3d011682016040523d82523d6000602084013e610366565b606091505b5091509150816103885760405162461bcd60e51b815260040161014990610899565b8080602001905181019061039c9190610830565b6103e85760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f7420617574686f72697a656400000000006044820152606401610149565b856001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044a91906108e0565b836001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906108e0565b146105055760405162461bcd60e51b8152602060048201526024808201527f5769746e657450726f78793a2070726f786961626c655555494473206d69736d6044820152630c2e8c6d60e31b6064820152608401610149565b50505b600080856001600160a01b0316856040516024016105269190610925565b60408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b1790525161055b919061087d565b600060405180830381855af49150503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b509150915081610635576044815110156106025760405162461bcd60e51b815260206004820152602260248201527f5769746e657450726f78793a20696e697469616c697a6174696f6e206661696c604482015261195960f21b6064820152608401610149565b6004810190508080602001905181019061061c9190610938565b60405162461bcd60e51b81526004016101499190610925565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0388169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2856001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106f5575060408051601f3d908101601f191682019092526106f291810190610830565b60015b6107115760405162461bcd60e51b815260040161014990610899565b935061071c92505050565b92915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561076157610761610722565b604052919050565b600067ffffffffffffffff82111561078357610783610722565b50601f01601f191660200190565b600080604083850312156107a457600080fd5b82356001600160a01b03811681146107bb57600080fd5b9150602083013567ffffffffffffffff8111156107d757600080fd5b8301601f810185136107e857600080fd5b80356107fb6107f682610769565b610738565b81815286602083850101111561081057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561084257600080fd5b8151801515811461085257600080fd5b9392505050565b60005b8381101561087457818101518382015260200161085c565b50506000910152565b6000825161088f818460208701610859565b9190910192915050565b60208082526027908201527f5769746e657450726f78793a20756e636f6d706c69616e7420696d706c656d65604082015266373a30ba34b7b760c91b606082015260800190565b6000602082840312156108f257600080fd5b5051919050565b60008151808452610911816020860160208601610859565b601f01601f19169290920160200192915050565b60208152600061085260208301846108f9565b60006020828403121561094a57600080fd5b815167ffffffffffffffff81111561096157600080fd5b8201601f8101841361097257600080fd5b80516109806107f682610769565b81815285602083850101111561099557600080fd5b6109a6826020830160208601610859565b9594505050505056fea26469706673582212201957a447cb6258f9d88fe3ec46365775f9fb0d97ce1906f310fc696a92715c1764736f6c63430008190033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9E5 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0x6FBC15E9 EQ PUSH2 0x97 JUMPI PUSH2 0x34 JUMP JUMPDEST CALLDATASIZE PUSH2 0x34 JUMPI STOP JUMPDEST PUSH1 0x0 PUSH2 0x3E PUSH2 0xC7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD CALLDATASIZE PUSH1 0x0 DUP3 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL RETURNDATASIZE DUP1 PUSH1 0x0 DUP5 RETURNDATACOPY DUP2 DUP1 ISZERO PUSH2 0x61 JUMPI DUP2 DUP5 RETURN JUMPDEST DUP2 DUP5 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB7 PUSH2 0xB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x791 JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x8E JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x152 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E756C6C20696D706C656D656E746174696F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x15C PUSH2 0xC7 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x508 JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x1CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F7468696E6720746F207570677261646500 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5479D940 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x228 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x225 SWAP2 DUP2 ADD SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x287 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20636865636B20757067 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x7261646162696C697479 PUSH1 0xB0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST DUP1 PUSH2 0x2D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F742075706772616461626C650000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST POP PUSH1 0x40 MLOAD CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x44 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x35AC4B05 PUSH1 0xE1 SHL OR SWAP1 MSTORE MLOAD PUSH2 0x326 SWAP2 SWAP1 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x361 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 0x366 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x388 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP1 PUSH2 0x899 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x39C SWAP2 SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH2 0x3E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F7420617574686F72697A65640000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x426 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 0x44A SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x488 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 0x4AC SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST EQ PUSH2 0x505 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A2070726F786961626C655555494473206D69736D PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0xC2E8C6D PUSH1 0xE3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x526 SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x439FAB91 PUSH1 0xE0 SHL OR SWAP1 MSTORE MLOAD PUSH2 0x55B SWAP2 SWAP1 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x596 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 0x59B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x635 JUMPI PUSH1 0x44 DUP2 MLOAD LT ISZERO PUSH2 0x602 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20696E697469616C697A6174696F6E206661696C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SWAP1 POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x61C SWAP2 SWAP1 PUSH2 0x938 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5479D940 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x6F5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x6F2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x711 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP1 PUSH2 0x899 JUMP JUMPDEST SWAP4 POP PUSH2 0x71C SWAP3 POP POP POP JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x761 JUMPI PUSH2 0x761 PUSH2 0x722 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x722 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x7FB PUSH2 0x7F6 DUP3 PUSH2 0x769 JUMP JUMPDEST PUSH2 0x738 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x810 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x852 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x874 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x85C JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x88F DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x859 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x27 SWAP1 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20756E636F6D706C69616E7420696D706C656D65 PUSH1 0x40 DUP3 ADD MSTORE PUSH7 0x373A30BA34B7B7 PUSH1 0xC9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x911 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x859 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x852 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x94A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x972 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x980 PUSH2 0x7F6 DUP3 PUSH2 0x769 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x995 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A6 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x859 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NOT JUMPI LOG4 SELFBALANCE 0xCB PUSH3 0x58F9D8 DUP16 0xE3 0xEC CHAINID CALLDATASIZE JUMPI PUSH22 0xF9FB0D97CE1906F310FC696A92715C1764736F6C6343 STOP ADDMOD NOT STOP CALLER ","sourceMap":"259:5139:3:-:0;;;515:17;;;;;;;;;;259:5139;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_322":{"entryPoint":null,"id":322,"parameterSlots":0,"returnSlots":0},"@_333":{"entryPoint":null,"id":333,"parameterSlots":0,"returnSlots":0},"@__proxySlot_529":{"entryPoint":null,"id":529,"parameterSlots":0,"returnSlots":1},"@implementation_344":{"entryPoint":199,"id":344,"parameterSlots":0,"returnSlots":1},"@upgradeTo_520":{"entryPoint":245,"id":520,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":1937,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":2096,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32_fromMemory":{"entryPoint":2272,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":2360,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_bytes":{"entryPoint":2297,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":2173,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":2341,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1a3a4ea76e2e68e14fc5328c93896fc2e23cf33c9f37d13d21f0003bedc2d604__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2201,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":1848,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":1897,"id":null,"parameterSlots":1,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":2137,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":1826,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:7316:7","nodeType":"YulBlock","src":"0:7316:7","statements":[{"nativeSrc":"6:3:7","nodeType":"YulBlock","src":"6:3:7","statements":[]},{"body":{"nativeSrc":"115:102:7","nodeType":"YulBlock","src":"115:102:7","statements":[{"nativeSrc":"125:26:7","nodeType":"YulAssignment","src":"125:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"137:9:7","nodeType":"YulIdentifier","src":"137:9:7"},{"kind":"number","nativeSrc":"148:2:7","nodeType":"YulLiteral","src":"148:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"133:3:7","nodeType":"YulIdentifier","src":"133:3:7"},"nativeSrc":"133:18:7","nodeType":"YulFunctionCall","src":"133:18:7"},"variableNames":[{"name":"tail","nativeSrc":"125:4:7","nodeType":"YulIdentifier","src":"125:4:7"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"167:9:7","nodeType":"YulIdentifier","src":"167:9:7"},{"arguments":[{"name":"value0","nativeSrc":"182:6:7","nodeType":"YulIdentifier","src":"182:6:7"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"198:3:7","nodeType":"YulLiteral","src":"198:3:7","type":"","value":"160"},{"kind":"number","nativeSrc":"203:1:7","nodeType":"YulLiteral","src":"203:1:7","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"194:3:7","nodeType":"YulIdentifier","src":"194:3:7"},"nativeSrc":"194:11:7","nodeType":"YulFunctionCall","src":"194:11:7"},{"kind":"number","nativeSrc":"207:1:7","nodeType":"YulLiteral","src":"207:1:7","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"190:3:7","nodeType":"YulIdentifier","src":"190:3:7"},"nativeSrc":"190:19:7","nodeType":"YulFunctionCall","src":"190:19:7"}],"functionName":{"name":"and","nativeSrc":"178:3:7","nodeType":"YulIdentifier","src":"178:3:7"},"nativeSrc":"178:32:7","nodeType":"YulFunctionCall","src":"178:32:7"}],"functionName":{"name":"mstore","nativeSrc":"160:6:7","nodeType":"YulIdentifier","src":"160:6:7"},"nativeSrc":"160:51:7","nodeType":"YulFunctionCall","src":"160:51:7"},"nativeSrc":"160:51:7","nodeType":"YulExpressionStatement","src":"160:51:7"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nativeSrc":"14:203:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"84:9:7","nodeType":"YulTypedName","src":"84:9:7","type":""},{"name":"value0","nativeSrc":"95:6:7","nodeType":"YulTypedName","src":"95:6:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"106:4:7","nodeType":"YulTypedName","src":"106:4:7","type":""}],"src":"14:203:7"},{"body":{"nativeSrc":"254:95:7","nodeType":"YulBlock","src":"254:95:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"271:1:7","nodeType":"YulLiteral","src":"271:1:7","type":"","value":"0"},{"arguments":[{"kind":"number","nativeSrc":"278:3:7","nodeType":"YulLiteral","src":"278:3:7","type":"","value":"224"},{"kind":"number","nativeSrc":"283:10:7","nodeType":"YulLiteral","src":"283:10:7","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nativeSrc":"274:3:7","nodeType":"YulIdentifier","src":"274:3:7"},"nativeSrc":"274:20:7","nodeType":"YulFunctionCall","src":"274:20:7"}],"functionName":{"name":"mstore","nativeSrc":"264:6:7","nodeType":"YulIdentifier","src":"264:6:7"},"nativeSrc":"264:31:7","nodeType":"YulFunctionCall","src":"264:31:7"},"nativeSrc":"264:31:7","nodeType":"YulExpressionStatement","src":"264:31:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311:1:7","nodeType":"YulLiteral","src":"311:1:7","type":"","value":"4"},{"kind":"number","nativeSrc":"314:4:7","nodeType":"YulLiteral","src":"314:4:7","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"304:6:7","nodeType":"YulIdentifier","src":"304:6:7"},"nativeSrc":"304:15:7","nodeType":"YulFunctionCall","src":"304:15:7"},"nativeSrc":"304:15:7","nodeType":"YulExpressionStatement","src":"304:15:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335:1:7","nodeType":"YulLiteral","src":"335:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"338:4:7","nodeType":"YulLiteral","src":"338:4:7","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"328:6:7","nodeType":"YulIdentifier","src":"328:6:7"},"nativeSrc":"328:15:7","nodeType":"YulFunctionCall","src":"328:15:7"},"nativeSrc":"328:15:7","nodeType":"YulExpressionStatement","src":"328:15:7"}]},"name":"panic_error_0x41","nativeSrc":"222:127:7","nodeType":"YulFunctionDefinition","src":"222:127:7"},{"body":{"nativeSrc":"399:230:7","nodeType":"YulBlock","src":"399:230:7","statements":[{"nativeSrc":"409:19:7","nodeType":"YulAssignment","src":"409:19:7","value":{"arguments":[{"kind":"number","nativeSrc":"425:2:7","nodeType":"YulLiteral","src":"425:2:7","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"419:5:7","nodeType":"YulIdentifier","src":"419:5:7"},"nativeSrc":"419:9:7","nodeType":"YulFunctionCall","src":"419:9:7"},"variableNames":[{"name":"memPtr","nativeSrc":"409:6:7","nodeType":"YulIdentifier","src":"409:6:7"}]},{"nativeSrc":"437:58:7","nodeType":"YulVariableDeclaration","src":"437:58:7","value":{"arguments":[{"name":"memPtr","nativeSrc":"459:6:7","nodeType":"YulIdentifier","src":"459:6:7"},{"arguments":[{"arguments":[{"name":"size","nativeSrc":"475:4:7","nodeType":"YulIdentifier","src":"475:4:7"},{"kind":"number","nativeSrc":"481:2:7","nodeType":"YulLiteral","src":"481:2:7","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"471:3:7","nodeType":"YulIdentifier","src":"471:3:7"},"nativeSrc":"471:13:7","nodeType":"YulFunctionCall","src":"471:13:7"},{"arguments":[{"kind":"number","nativeSrc":"490:2:7","nodeType":"YulLiteral","src":"490:2:7","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"486:3:7","nodeType":"YulIdentifier","src":"486:3:7"},"nativeSrc":"486:7:7","nodeType":"YulFunctionCall","src":"486:7:7"}],"functionName":{"name":"and","nativeSrc":"467:3:7","nodeType":"YulIdentifier","src":"467:3:7"},"nativeSrc":"467:27:7","nodeType":"YulFunctionCall","src":"467:27:7"}],"functionName":{"name":"add","nativeSrc":"455:3:7","nodeType":"YulIdentifier","src":"455:3:7"},"nativeSrc":"455:40:7","nodeType":"YulFunctionCall","src":"455:40:7"},"variables":[{"name":"newFreePtr","nativeSrc":"441:10:7","nodeType":"YulTypedName","src":"441:10:7","type":""}]},{"body":{"nativeSrc":"570:22:7","nodeType":"YulBlock","src":"570:22:7","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"572:16:7","nodeType":"YulIdentifier","src":"572:16:7"},"nativeSrc":"572:18:7","nodeType":"YulFunctionCall","src":"572:18:7"},"nativeSrc":"572:18:7","nodeType":"YulExpressionStatement","src":"572:18:7"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"513:10:7","nodeType":"YulIdentifier","src":"513:10:7"},{"kind":"number","nativeSrc":"525:18:7","nodeType":"YulLiteral","src":"525:18:7","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"510:2:7","nodeType":"YulIdentifier","src":"510:2:7"},"nativeSrc":"510:34:7","nodeType":"YulFunctionCall","src":"510:34:7"},{"arguments":[{"name":"newFreePtr","nativeSrc":"549:10:7","nodeType":"YulIdentifier","src":"549:10:7"},{"name":"memPtr","nativeSrc":"561:6:7","nodeType":"YulIdentifier","src":"561:6:7"}],"functionName":{"name":"lt","nativeSrc":"546:2:7","nodeType":"YulIdentifier","src":"546:2:7"},"nativeSrc":"546:22:7","nodeType":"YulFunctionCall","src":"546:22:7"}],"functionName":{"name":"or","nativeSrc":"507:2:7","nodeType":"YulIdentifier","src":"507:2:7"},"nativeSrc":"507:62:7","nodeType":"YulFunctionCall","src":"507:62:7"},"nativeSrc":"504:88:7","nodeType":"YulIf","src":"504:88:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"608:2:7","nodeType":"YulLiteral","src":"608:2:7","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"612:10:7","nodeType":"YulIdentifier","src":"612:10:7"}],"functionName":{"name":"mstore","nativeSrc":"601:6:7","nodeType":"YulIdentifier","src":"601:6:7"},"nativeSrc":"601:22:7","nodeType":"YulFunctionCall","src":"601:22:7"},"nativeSrc":"601:22:7","nodeType":"YulExpressionStatement","src":"601:22:7"}]},"name":"allocate_memory","nativeSrc":"354:275:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"379:4:7","nodeType":"YulTypedName","src":"379:4:7","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"388:6:7","nodeType":"YulTypedName","src":"388:6:7","type":""}],"src":"354:275:7"},{"body":{"nativeSrc":"691:129:7","nodeType":"YulBlock","src":"691:129:7","statements":[{"body":{"nativeSrc":"735:22:7","nodeType":"YulBlock","src":"735:22:7","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"737:16:7","nodeType":"YulIdentifier","src":"737:16:7"},"nativeSrc":"737:18:7","nodeType":"YulFunctionCall","src":"737:18:7"},"nativeSrc":"737:18:7","nodeType":"YulExpressionStatement","src":"737:18:7"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"707:6:7","nodeType":"YulIdentifier","src":"707:6:7"},{"kind":"number","nativeSrc":"715:18:7","nodeType":"YulLiteral","src":"715:18:7","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"704:2:7","nodeType":"YulIdentifier","src":"704:2:7"},"nativeSrc":"704:30:7","nodeType":"YulFunctionCall","src":"704:30:7"},"nativeSrc":"701:56:7","nodeType":"YulIf","src":"701:56:7"},{"nativeSrc":"766:48:7","nodeType":"YulAssignment","src":"766:48:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nativeSrc":"786:6:7","nodeType":"YulIdentifier","src":"786:6:7"},{"kind":"number","nativeSrc":"794:2:7","nodeType":"YulLiteral","src":"794:2:7","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"782:3:7","nodeType":"YulIdentifier","src":"782:3:7"},"nativeSrc":"782:15:7","nodeType":"YulFunctionCall","src":"782:15:7"},{"arguments":[{"kind":"number","nativeSrc":"803:2:7","nodeType":"YulLiteral","src":"803:2:7","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"799:3:7","nodeType":"YulIdentifier","src":"799:3:7"},"nativeSrc":"799:7:7","nodeType":"YulFunctionCall","src":"799:7:7"}],"functionName":{"name":"and","nativeSrc":"778:3:7","nodeType":"YulIdentifier","src":"778:3:7"},"nativeSrc":"778:29:7","nodeType":"YulFunctionCall","src":"778:29:7"},{"kind":"number","nativeSrc":"809:4:7","nodeType":"YulLiteral","src":"809:4:7","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"774:3:7","nodeType":"YulIdentifier","src":"774:3:7"},"nativeSrc":"774:40:7","nodeType":"YulFunctionCall","src":"774:40:7"},"variableNames":[{"name":"size","nativeSrc":"766:4:7","nodeType":"YulIdentifier","src":"766:4:7"}]}]},"name":"array_allocation_size_bytes","nativeSrc":"634:186:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"671:6:7","nodeType":"YulTypedName","src":"671:6:7","type":""}],"returnVariables":[{"name":"size","nativeSrc":"682:4:7","nodeType":"YulTypedName","src":"682:4:7","type":""}],"src":"634:186:7"},{"body":{"nativeSrc":"921:749:7","nodeType":"YulBlock","src":"921:749:7","statements":[{"body":{"nativeSrc":"967:16:7","nodeType":"YulBlock","src":"967:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"976:1:7","nodeType":"YulLiteral","src":"976:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"979:1:7","nodeType":"YulLiteral","src":"979:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"969:6:7","nodeType":"YulIdentifier","src":"969:6:7"},"nativeSrc":"969:12:7","nodeType":"YulFunctionCall","src":"969:12:7"},"nativeSrc":"969:12:7","nodeType":"YulExpressionStatement","src":"969:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"942:7:7","nodeType":"YulIdentifier","src":"942:7:7"},{"name":"headStart","nativeSrc":"951:9:7","nodeType":"YulIdentifier","src":"951:9:7"}],"functionName":{"name":"sub","nativeSrc":"938:3:7","nodeType":"YulIdentifier","src":"938:3:7"},"nativeSrc":"938:23:7","nodeType":"YulFunctionCall","src":"938:23:7"},{"kind":"number","nativeSrc":"963:2:7","nodeType":"YulLiteral","src":"963:2:7","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"934:3:7","nodeType":"YulIdentifier","src":"934:3:7"},"nativeSrc":"934:32:7","nodeType":"YulFunctionCall","src":"934:32:7"},"nativeSrc":"931:52:7","nodeType":"YulIf","src":"931:52:7"},{"nativeSrc":"992:36:7","nodeType":"YulVariableDeclaration","src":"992:36:7","value":{"arguments":[{"name":"headStart","nativeSrc":"1018:9:7","nodeType":"YulIdentifier","src":"1018:9:7"}],"functionName":{"name":"calldataload","nativeSrc":"1005:12:7","nodeType":"YulIdentifier","src":"1005:12:7"},"nativeSrc":"1005:23:7","nodeType":"YulFunctionCall","src":"1005:23:7"},"variables":[{"name":"value","nativeSrc":"996:5:7","nodeType":"YulTypedName","src":"996:5:7","type":""}]},{"body":{"nativeSrc":"1091:16:7","nodeType":"YulBlock","src":"1091:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1100:1:7","nodeType":"YulLiteral","src":"1100:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"1103:1:7","nodeType":"YulLiteral","src":"1103:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1093:6:7","nodeType":"YulIdentifier","src":"1093:6:7"},"nativeSrc":"1093:12:7","nodeType":"YulFunctionCall","src":"1093:12:7"},"nativeSrc":"1093:12:7","nodeType":"YulExpressionStatement","src":"1093:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1050:5:7","nodeType":"YulIdentifier","src":"1050:5:7"},{"arguments":[{"name":"value","nativeSrc":"1061:5:7","nodeType":"YulIdentifier","src":"1061:5:7"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1076:3:7","nodeType":"YulLiteral","src":"1076:3:7","type":"","value":"160"},{"kind":"number","nativeSrc":"1081:1:7","nodeType":"YulLiteral","src":"1081:1:7","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"1072:3:7","nodeType":"YulIdentifier","src":"1072:3:7"},"nativeSrc":"1072:11:7","nodeType":"YulFunctionCall","src":"1072:11:7"},{"kind":"number","nativeSrc":"1085:1:7","nodeType":"YulLiteral","src":"1085:1:7","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"1068:3:7","nodeType":"YulIdentifier","src":"1068:3:7"},"nativeSrc":"1068:19:7","nodeType":"YulFunctionCall","src":"1068:19:7"}],"functionName":{"name":"and","nativeSrc":"1057:3:7","nodeType":"YulIdentifier","src":"1057:3:7"},"nativeSrc":"1057:31:7","nodeType":"YulFunctionCall","src":"1057:31:7"}],"functionName":{"name":"eq","nativeSrc":"1047:2:7","nodeType":"YulIdentifier","src":"1047:2:7"},"nativeSrc":"1047:42:7","nodeType":"YulFunctionCall","src":"1047:42:7"}],"functionName":{"name":"iszero","nativeSrc":"1040:6:7","nodeType":"YulIdentifier","src":"1040:6:7"},"nativeSrc":"1040:50:7","nodeType":"YulFunctionCall","src":"1040:50:7"},"nativeSrc":"1037:70:7","nodeType":"YulIf","src":"1037:70:7"},{"nativeSrc":"1116:15:7","nodeType":"YulAssignment","src":"1116:15:7","value":{"name":"value","nativeSrc":"1126:5:7","nodeType":"YulIdentifier","src":"1126:5:7"},"variableNames":[{"name":"value0","nativeSrc":"1116:6:7","nodeType":"YulIdentifier","src":"1116:6:7"}]},{"nativeSrc":"1140:46:7","nodeType":"YulVariableDeclaration","src":"1140:46:7","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"1171:9:7","nodeType":"YulIdentifier","src":"1171:9:7"},{"kind":"number","nativeSrc":"1182:2:7","nodeType":"YulLiteral","src":"1182:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1167:3:7","nodeType":"YulIdentifier","src":"1167:3:7"},"nativeSrc":"1167:18:7","nodeType":"YulFunctionCall","src":"1167:18:7"}],"functionName":{"name":"calldataload","nativeSrc":"1154:12:7","nodeType":"YulIdentifier","src":"1154:12:7"},"nativeSrc":"1154:32:7","nodeType":"YulFunctionCall","src":"1154:32:7"},"variables":[{"name":"offset","nativeSrc":"1144:6:7","nodeType":"YulTypedName","src":"1144:6:7","type":""}]},{"body":{"nativeSrc":"1229:16:7","nodeType":"YulBlock","src":"1229:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1238:1:7","nodeType":"YulLiteral","src":"1238:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"1241:1:7","nodeType":"YulLiteral","src":"1241:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1231:6:7","nodeType":"YulIdentifier","src":"1231:6:7"},"nativeSrc":"1231:12:7","nodeType":"YulFunctionCall","src":"1231:12:7"},"nativeSrc":"1231:12:7","nodeType":"YulExpressionStatement","src":"1231:12:7"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"1201:6:7","nodeType":"YulIdentifier","src":"1201:6:7"},{"kind":"number","nativeSrc":"1209:18:7","nodeType":"YulLiteral","src":"1209:18:7","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1198:2:7","nodeType":"YulIdentifier","src":"1198:2:7"},"nativeSrc":"1198:30:7","nodeType":"YulFunctionCall","src":"1198:30:7"},"nativeSrc":"1195:50:7","nodeType":"YulIf","src":"1195:50:7"},{"nativeSrc":"1254:32:7","nodeType":"YulVariableDeclaration","src":"1254:32:7","value":{"arguments":[{"name":"headStart","nativeSrc":"1268:9:7","nodeType":"YulIdentifier","src":"1268:9:7"},{"name":"offset","nativeSrc":"1279:6:7","nodeType":"YulIdentifier","src":"1279:6:7"}],"functionName":{"name":"add","nativeSrc":"1264:3:7","nodeType":"YulIdentifier","src":"1264:3:7"},"nativeSrc":"1264:22:7","nodeType":"YulFunctionCall","src":"1264:22:7"},"variables":[{"name":"_1","nativeSrc":"1258:2:7","nodeType":"YulTypedName","src":"1258:2:7","type":""}]},{"body":{"nativeSrc":"1334:16:7","nodeType":"YulBlock","src":"1334:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1343:1:7","nodeType":"YulLiteral","src":"1343:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"1346:1:7","nodeType":"YulLiteral","src":"1346:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1336:6:7","nodeType":"YulIdentifier","src":"1336:6:7"},"nativeSrc":"1336:12:7","nodeType":"YulFunctionCall","src":"1336:12:7"},"nativeSrc":"1336:12:7","nodeType":"YulExpressionStatement","src":"1336:12:7"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nativeSrc":"1313:2:7","nodeType":"YulIdentifier","src":"1313:2:7"},{"kind":"number","nativeSrc":"1317:4:7","nodeType":"YulLiteral","src":"1317:4:7","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"1309:3:7","nodeType":"YulIdentifier","src":"1309:3:7"},"nativeSrc":"1309:13:7","nodeType":"YulFunctionCall","src":"1309:13:7"},{"name":"dataEnd","nativeSrc":"1324:7:7","nodeType":"YulIdentifier","src":"1324:7:7"}],"functionName":{"name":"slt","nativeSrc":"1305:3:7","nodeType":"YulIdentifier","src":"1305:3:7"},"nativeSrc":"1305:27:7","nodeType":"YulFunctionCall","src":"1305:27:7"}],"functionName":{"name":"iszero","nativeSrc":"1298:6:7","nodeType":"YulIdentifier","src":"1298:6:7"},"nativeSrc":"1298:35:7","nodeType":"YulFunctionCall","src":"1298:35:7"},"nativeSrc":"1295:55:7","nodeType":"YulIf","src":"1295:55:7"},{"nativeSrc":"1359:26:7","nodeType":"YulVariableDeclaration","src":"1359:26:7","value":{"arguments":[{"name":"_1","nativeSrc":"1382:2:7","nodeType":"YulIdentifier","src":"1382:2:7"}],"functionName":{"name":"calldataload","nativeSrc":"1369:12:7","nodeType":"YulIdentifier","src":"1369:12:7"},"nativeSrc":"1369:16:7","nodeType":"YulFunctionCall","src":"1369:16:7"},"variables":[{"name":"_2","nativeSrc":"1363:2:7","nodeType":"YulTypedName","src":"1363:2:7","type":""}]},{"nativeSrc":"1394:61:7","nodeType":"YulVariableDeclaration","src":"1394:61:7","value":{"arguments":[{"arguments":[{"name":"_2","nativeSrc":"1451:2:7","nodeType":"YulIdentifier","src":"1451:2:7"}],"functionName":{"name":"array_allocation_size_bytes","nativeSrc":"1423:27:7","nodeType":"YulIdentifier","src":"1423:27:7"},"nativeSrc":"1423:31:7","nodeType":"YulFunctionCall","src":"1423:31:7"}],"functionName":{"name":"allocate_memory","nativeSrc":"1407:15:7","nodeType":"YulIdentifier","src":"1407:15:7"},"nativeSrc":"1407:48:7","nodeType":"YulFunctionCall","src":"1407:48:7"},"variables":[{"name":"array","nativeSrc":"1398:5:7","nodeType":"YulTypedName","src":"1398:5:7","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1471:5:7","nodeType":"YulIdentifier","src":"1471:5:7"},{"name":"_2","nativeSrc":"1478:2:7","nodeType":"YulIdentifier","src":"1478:2:7"}],"functionName":{"name":"mstore","nativeSrc":"1464:6:7","nodeType":"YulIdentifier","src":"1464:6:7"},"nativeSrc":"1464:17:7","nodeType":"YulFunctionCall","src":"1464:17:7"},"nativeSrc":"1464:17:7","nodeType":"YulExpressionStatement","src":"1464:17:7"},{"body":{"nativeSrc":"1527:16:7","nodeType":"YulBlock","src":"1527:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1536:1:7","nodeType":"YulLiteral","src":"1536:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"1539:1:7","nodeType":"YulLiteral","src":"1539:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1529:6:7","nodeType":"YulIdentifier","src":"1529:6:7"},"nativeSrc":"1529:12:7","nodeType":"YulFunctionCall","src":"1529:12:7"},"nativeSrc":"1529:12:7","nodeType":"YulExpressionStatement","src":"1529:12:7"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nativeSrc":"1504:2:7","nodeType":"YulIdentifier","src":"1504:2:7"},{"name":"_2","nativeSrc":"1508:2:7","nodeType":"YulIdentifier","src":"1508:2:7"}],"functionName":{"name":"add","nativeSrc":"1500:3:7","nodeType":"YulIdentifier","src":"1500:3:7"},"nativeSrc":"1500:11:7","nodeType":"YulFunctionCall","src":"1500:11:7"},{"kind":"number","nativeSrc":"1513:2:7","nodeType":"YulLiteral","src":"1513:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1496:3:7","nodeType":"YulIdentifier","src":"1496:3:7"},"nativeSrc":"1496:20:7","nodeType":"YulFunctionCall","src":"1496:20:7"},{"name":"dataEnd","nativeSrc":"1518:7:7","nodeType":"YulIdentifier","src":"1518:7:7"}],"functionName":{"name":"gt","nativeSrc":"1493:2:7","nodeType":"YulIdentifier","src":"1493:2:7"},"nativeSrc":"1493:33:7","nodeType":"YulFunctionCall","src":"1493:33:7"},"nativeSrc":"1490:53:7","nodeType":"YulIf","src":"1490:53:7"},{"expression":{"arguments":[{"arguments":[{"name":"array","nativeSrc":"1569:5:7","nodeType":"YulIdentifier","src":"1569:5:7"},{"kind":"number","nativeSrc":"1576:2:7","nodeType":"YulLiteral","src":"1576:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1565:3:7","nodeType":"YulIdentifier","src":"1565:3:7"},"nativeSrc":"1565:14:7","nodeType":"YulFunctionCall","src":"1565:14:7"},{"arguments":[{"name":"_1","nativeSrc":"1585:2:7","nodeType":"YulIdentifier","src":"1585:2:7"},{"kind":"number","nativeSrc":"1589:2:7","nodeType":"YulLiteral","src":"1589:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1581:3:7","nodeType":"YulIdentifier","src":"1581:3:7"},"nativeSrc":"1581:11:7","nodeType":"YulFunctionCall","src":"1581:11:7"},{"name":"_2","nativeSrc":"1594:2:7","nodeType":"YulIdentifier","src":"1594:2:7"}],"functionName":{"name":"calldatacopy","nativeSrc":"1552:12:7","nodeType":"YulIdentifier","src":"1552:12:7"},"nativeSrc":"1552:45:7","nodeType":"YulFunctionCall","src":"1552:45:7"},"nativeSrc":"1552:45:7","nodeType":"YulExpressionStatement","src":"1552:45:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nativeSrc":"1621:5:7","nodeType":"YulIdentifier","src":"1621:5:7"},{"name":"_2","nativeSrc":"1628:2:7","nodeType":"YulIdentifier","src":"1628:2:7"}],"functionName":{"name":"add","nativeSrc":"1617:3:7","nodeType":"YulIdentifier","src":"1617:3:7"},"nativeSrc":"1617:14:7","nodeType":"YulFunctionCall","src":"1617:14:7"},{"kind":"number","nativeSrc":"1633:2:7","nodeType":"YulLiteral","src":"1633:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1613:3:7","nodeType":"YulIdentifier","src":"1613:3:7"},"nativeSrc":"1613:23:7","nodeType":"YulFunctionCall","src":"1613:23:7"},{"kind":"number","nativeSrc":"1638:1:7","nodeType":"YulLiteral","src":"1638:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1606:6:7","nodeType":"YulIdentifier","src":"1606:6:7"},"nativeSrc":"1606:34:7","nodeType":"YulFunctionCall","src":"1606:34:7"},"nativeSrc":"1606:34:7","nodeType":"YulExpressionStatement","src":"1606:34:7"},{"nativeSrc":"1649:15:7","nodeType":"YulAssignment","src":"1649:15:7","value":{"name":"array","nativeSrc":"1659:5:7","nodeType":"YulIdentifier","src":"1659:5:7"},"variableNames":[{"name":"value1","nativeSrc":"1649:6:7","nodeType":"YulIdentifier","src":"1649:6:7"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nativeSrc":"825:845:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"879:9:7","nodeType":"YulTypedName","src":"879:9:7","type":""},{"name":"dataEnd","nativeSrc":"890:7:7","nodeType":"YulTypedName","src":"890:7:7","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"902:6:7","nodeType":"YulTypedName","src":"902:6:7","type":""},{"name":"value1","nativeSrc":"910:6:7","nodeType":"YulTypedName","src":"910:6:7","type":""}],"src":"825:845:7"},{"body":{"nativeSrc":"1770:92:7","nodeType":"YulBlock","src":"1770:92:7","statements":[{"nativeSrc":"1780:26:7","nodeType":"YulAssignment","src":"1780:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"1792:9:7","nodeType":"YulIdentifier","src":"1792:9:7"},{"kind":"number","nativeSrc":"1803:2:7","nodeType":"YulLiteral","src":"1803:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1788:3:7","nodeType":"YulIdentifier","src":"1788:3:7"},"nativeSrc":"1788:18:7","nodeType":"YulFunctionCall","src":"1788:18:7"},"variableNames":[{"name":"tail","nativeSrc":"1780:4:7","nodeType":"YulIdentifier","src":"1780:4:7"}]},{"expression":{"arguments":[{"name":"headStart","nativeSrc":"1822:9:7","nodeType":"YulIdentifier","src":"1822:9:7"},{"arguments":[{"arguments":[{"name":"value0","nativeSrc":"1847:6:7","nodeType":"YulIdentifier","src":"1847:6:7"}],"functionName":{"name":"iszero","nativeSrc":"1840:6:7","nodeType":"YulIdentifier","src":"1840:6:7"},"nativeSrc":"1840:14:7","nodeType":"YulFunctionCall","src":"1840:14:7"}],"functionName":{"name":"iszero","nativeSrc":"1833:6:7","nodeType":"YulIdentifier","src":"1833:6:7"},"nativeSrc":"1833:22:7","nodeType":"YulFunctionCall","src":"1833:22:7"}],"functionName":{"name":"mstore","nativeSrc":"1815:6:7","nodeType":"YulIdentifier","src":"1815:6:7"},"nativeSrc":"1815:41:7","nodeType":"YulFunctionCall","src":"1815:41:7"},"nativeSrc":"1815:41:7","nodeType":"YulExpressionStatement","src":"1815:41:7"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"1675:187:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1739:9:7","nodeType":"YulTypedName","src":"1739:9:7","type":""},{"name":"value0","nativeSrc":"1750:6:7","nodeType":"YulTypedName","src":"1750:6:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"1761:4:7","nodeType":"YulTypedName","src":"1761:4:7","type":""}],"src":"1675:187:7"},{"body":{"nativeSrc":"2041:182:7","nodeType":"YulBlock","src":"2041:182:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"2058:9:7","nodeType":"YulIdentifier","src":"2058:9:7"},{"kind":"number","nativeSrc":"2069:2:7","nodeType":"YulLiteral","src":"2069:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"2051:6:7","nodeType":"YulIdentifier","src":"2051:6:7"},"nativeSrc":"2051:21:7","nodeType":"YulFunctionCall","src":"2051:21:7"},"nativeSrc":"2051:21:7","nodeType":"YulExpressionStatement","src":"2051:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2092:9:7","nodeType":"YulIdentifier","src":"2092:9:7"},{"kind":"number","nativeSrc":"2103:2:7","nodeType":"YulLiteral","src":"2103:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2088:3:7","nodeType":"YulIdentifier","src":"2088:3:7"},"nativeSrc":"2088:18:7","nodeType":"YulFunctionCall","src":"2088:18:7"},{"kind":"number","nativeSrc":"2108:2:7","nodeType":"YulLiteral","src":"2108:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"2081:6:7","nodeType":"YulIdentifier","src":"2081:6:7"},"nativeSrc":"2081:30:7","nodeType":"YulFunctionCall","src":"2081:30:7"},"nativeSrc":"2081:30:7","nodeType":"YulExpressionStatement","src":"2081:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2131:9:7","nodeType":"YulIdentifier","src":"2131:9:7"},{"kind":"number","nativeSrc":"2142:2:7","nodeType":"YulLiteral","src":"2142:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"2127:3:7","nodeType":"YulIdentifier","src":"2127:3:7"},"nativeSrc":"2127:18:7","nodeType":"YulFunctionCall","src":"2127:18:7"},{"hexValue":"5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e","kind":"string","nativeSrc":"2147:34:7","nodeType":"YulLiteral","src":"2147:34:7","type":"","value":"WitnetProxy: null implementation"}],"functionName":{"name":"mstore","nativeSrc":"2120:6:7","nodeType":"YulIdentifier","src":"2120:6:7"},"nativeSrc":"2120:62:7","nodeType":"YulFunctionCall","src":"2120:62:7"},"nativeSrc":"2120:62:7","nodeType":"YulExpressionStatement","src":"2120:62:7"},{"nativeSrc":"2191:26:7","nodeType":"YulAssignment","src":"2191:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"2203:9:7","nodeType":"YulIdentifier","src":"2203:9:7"},{"kind":"number","nativeSrc":"2214:2:7","nodeType":"YulLiteral","src":"2214:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"2199:3:7","nodeType":"YulIdentifier","src":"2199:3:7"},"nativeSrc":"2199:18:7","nodeType":"YulFunctionCall","src":"2199:18:7"},"variableNames":[{"name":"tail","nativeSrc":"2191:4:7","nodeType":"YulIdentifier","src":"2191:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"1867:356:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"2018:9:7","nodeType":"YulTypedName","src":"2018:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"2032:4:7","nodeType":"YulTypedName","src":"2032:4:7","type":""}],"src":"1867:356:7"},{"body":{"nativeSrc":"2402:181:7","nodeType":"YulBlock","src":"2402:181:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"2419:9:7","nodeType":"YulIdentifier","src":"2419:9:7"},{"kind":"number","nativeSrc":"2430:2:7","nodeType":"YulLiteral","src":"2430:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"2412:6:7","nodeType":"YulIdentifier","src":"2412:6:7"},"nativeSrc":"2412:21:7","nodeType":"YulFunctionCall","src":"2412:21:7"},"nativeSrc":"2412:21:7","nodeType":"YulExpressionStatement","src":"2412:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2453:9:7","nodeType":"YulIdentifier","src":"2453:9:7"},{"kind":"number","nativeSrc":"2464:2:7","nodeType":"YulLiteral","src":"2464:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2449:3:7","nodeType":"YulIdentifier","src":"2449:3:7"},"nativeSrc":"2449:18:7","nodeType":"YulFunctionCall","src":"2449:18:7"},{"kind":"number","nativeSrc":"2469:2:7","nodeType":"YulLiteral","src":"2469:2:7","type":"","value":"31"}],"functionName":{"name":"mstore","nativeSrc":"2442:6:7","nodeType":"YulIdentifier","src":"2442:6:7"},"nativeSrc":"2442:30:7","nodeType":"YulFunctionCall","src":"2442:30:7"},"nativeSrc":"2442:30:7","nodeType":"YulExpressionStatement","src":"2442:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2492:9:7","nodeType":"YulIdentifier","src":"2492:9:7"},{"kind":"number","nativeSrc":"2503:2:7","nodeType":"YulLiteral","src":"2503:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"2488:3:7","nodeType":"YulIdentifier","src":"2488:3:7"},"nativeSrc":"2488:18:7","nodeType":"YulFunctionCall","src":"2488:18:7"},{"hexValue":"5769746e657450726f78793a206e6f7468696e6720746f2075706772616465","kind":"string","nativeSrc":"2508:33:7","nodeType":"YulLiteral","src":"2508:33:7","type":"","value":"WitnetProxy: nothing to upgrade"}],"functionName":{"name":"mstore","nativeSrc":"2481:6:7","nodeType":"YulIdentifier","src":"2481:6:7"},"nativeSrc":"2481:61:7","nodeType":"YulFunctionCall","src":"2481:61:7"},"nativeSrc":"2481:61:7","nodeType":"YulExpressionStatement","src":"2481:61:7"},{"nativeSrc":"2551:26:7","nodeType":"YulAssignment","src":"2551:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"2563:9:7","nodeType":"YulIdentifier","src":"2563:9:7"},{"kind":"number","nativeSrc":"2574:2:7","nodeType":"YulLiteral","src":"2574:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"2559:3:7","nodeType":"YulIdentifier","src":"2559:3:7"},"nativeSrc":"2559:18:7","nodeType":"YulFunctionCall","src":"2559:18:7"},"variableNames":[{"name":"tail","nativeSrc":"2551:4:7","nodeType":"YulIdentifier","src":"2551:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"2228:355:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"2379:9:7","nodeType":"YulTypedName","src":"2379:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"2393:4:7","nodeType":"YulTypedName","src":"2393:4:7","type":""}],"src":"2228:355:7"},{"body":{"nativeSrc":"2666:199:7","nodeType":"YulBlock","src":"2666:199:7","statements":[{"body":{"nativeSrc":"2712:16:7","nodeType":"YulBlock","src":"2712:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2721:1:7","nodeType":"YulLiteral","src":"2721:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"2724:1:7","nodeType":"YulLiteral","src":"2724:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2714:6:7","nodeType":"YulIdentifier","src":"2714:6:7"},"nativeSrc":"2714:12:7","nodeType":"YulFunctionCall","src":"2714:12:7"},"nativeSrc":"2714:12:7","nodeType":"YulExpressionStatement","src":"2714:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"2687:7:7","nodeType":"YulIdentifier","src":"2687:7:7"},{"name":"headStart","nativeSrc":"2696:9:7","nodeType":"YulIdentifier","src":"2696:9:7"}],"functionName":{"name":"sub","nativeSrc":"2683:3:7","nodeType":"YulIdentifier","src":"2683:3:7"},"nativeSrc":"2683:23:7","nodeType":"YulFunctionCall","src":"2683:23:7"},{"kind":"number","nativeSrc":"2708:2:7","nodeType":"YulLiteral","src":"2708:2:7","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"2679:3:7","nodeType":"YulIdentifier","src":"2679:3:7"},"nativeSrc":"2679:32:7","nodeType":"YulFunctionCall","src":"2679:32:7"},"nativeSrc":"2676:52:7","nodeType":"YulIf","src":"2676:52:7"},{"nativeSrc":"2737:29:7","nodeType":"YulVariableDeclaration","src":"2737:29:7","value":{"arguments":[{"name":"headStart","nativeSrc":"2756:9:7","nodeType":"YulIdentifier","src":"2756:9:7"}],"functionName":{"name":"mload","nativeSrc":"2750:5:7","nodeType":"YulIdentifier","src":"2750:5:7"},"nativeSrc":"2750:16:7","nodeType":"YulFunctionCall","src":"2750:16:7"},"variables":[{"name":"value","nativeSrc":"2741:5:7","nodeType":"YulTypedName","src":"2741:5:7","type":""}]},{"body":{"nativeSrc":"2819:16:7","nodeType":"YulBlock","src":"2819:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2828:1:7","nodeType":"YulLiteral","src":"2828:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"2831:1:7","nodeType":"YulLiteral","src":"2831:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2821:6:7","nodeType":"YulIdentifier","src":"2821:6:7"},"nativeSrc":"2821:12:7","nodeType":"YulFunctionCall","src":"2821:12:7"},"nativeSrc":"2821:12:7","nodeType":"YulExpressionStatement","src":"2821:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"2788:5:7","nodeType":"YulIdentifier","src":"2788:5:7"},{"arguments":[{"arguments":[{"name":"value","nativeSrc":"2809:5:7","nodeType":"YulIdentifier","src":"2809:5:7"}],"functionName":{"name":"iszero","nativeSrc":"2802:6:7","nodeType":"YulIdentifier","src":"2802:6:7"},"nativeSrc":"2802:13:7","nodeType":"YulFunctionCall","src":"2802:13:7"}],"functionName":{"name":"iszero","nativeSrc":"2795:6:7","nodeType":"YulIdentifier","src":"2795:6:7"},"nativeSrc":"2795:21:7","nodeType":"YulFunctionCall","src":"2795:21:7"}],"functionName":{"name":"eq","nativeSrc":"2785:2:7","nodeType":"YulIdentifier","src":"2785:2:7"},"nativeSrc":"2785:32:7","nodeType":"YulFunctionCall","src":"2785:32:7"}],"functionName":{"name":"iszero","nativeSrc":"2778:6:7","nodeType":"YulIdentifier","src":"2778:6:7"},"nativeSrc":"2778:40:7","nodeType":"YulFunctionCall","src":"2778:40:7"},"nativeSrc":"2775:60:7","nodeType":"YulIf","src":"2775:60:7"},{"nativeSrc":"2844:15:7","nodeType":"YulAssignment","src":"2844:15:7","value":{"name":"value","nativeSrc":"2854:5:7","nodeType":"YulIdentifier","src":"2854:5:7"},"variableNames":[{"name":"value0","nativeSrc":"2844:6:7","nodeType":"YulIdentifier","src":"2844:6:7"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nativeSrc":"2588:277:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"2632:9:7","nodeType":"YulTypedName","src":"2632:9:7","type":""},{"name":"dataEnd","nativeSrc":"2643:7:7","nodeType":"YulTypedName","src":"2643:7:7","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"2655:6:7","nodeType":"YulTypedName","src":"2655:6:7","type":""}],"src":"2588:277:7"},{"body":{"nativeSrc":"3044:232:7","nodeType":"YulBlock","src":"3044:232:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"3061:9:7","nodeType":"YulIdentifier","src":"3061:9:7"},{"kind":"number","nativeSrc":"3072:2:7","nodeType":"YulLiteral","src":"3072:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"3054:6:7","nodeType":"YulIdentifier","src":"3054:6:7"},"nativeSrc":"3054:21:7","nodeType":"YulFunctionCall","src":"3054:21:7"},"nativeSrc":"3054:21:7","nodeType":"YulExpressionStatement","src":"3054:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3095:9:7","nodeType":"YulIdentifier","src":"3095:9:7"},{"kind":"number","nativeSrc":"3106:2:7","nodeType":"YulLiteral","src":"3106:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3091:3:7","nodeType":"YulIdentifier","src":"3091:3:7"},"nativeSrc":"3091:18:7","nodeType":"YulFunctionCall","src":"3091:18:7"},{"kind":"number","nativeSrc":"3111:2:7","nodeType":"YulLiteral","src":"3111:2:7","type":"","value":"42"}],"functionName":{"name":"mstore","nativeSrc":"3084:6:7","nodeType":"YulIdentifier","src":"3084:6:7"},"nativeSrc":"3084:30:7","nodeType":"YulFunctionCall","src":"3084:30:7"},"nativeSrc":"3084:30:7","nodeType":"YulExpressionStatement","src":"3084:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3134:9:7","nodeType":"YulIdentifier","src":"3134:9:7"},{"kind":"number","nativeSrc":"3145:2:7","nodeType":"YulLiteral","src":"3145:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"3130:3:7","nodeType":"YulIdentifier","src":"3130:3:7"},"nativeSrc":"3130:18:7","nodeType":"YulFunctionCall","src":"3130:18:7"},{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20636865636b20757067","kind":"string","nativeSrc":"3150:34:7","nodeType":"YulLiteral","src":"3150:34:7","type":"","value":"WitnetProxy: unable to check upg"}],"functionName":{"name":"mstore","nativeSrc":"3123:6:7","nodeType":"YulIdentifier","src":"3123:6:7"},"nativeSrc":"3123:62:7","nodeType":"YulFunctionCall","src":"3123:62:7"},"nativeSrc":"3123:62:7","nodeType":"YulExpressionStatement","src":"3123:62:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3205:9:7","nodeType":"YulIdentifier","src":"3205:9:7"},{"kind":"number","nativeSrc":"3216:2:7","nodeType":"YulLiteral","src":"3216:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"3201:3:7","nodeType":"YulIdentifier","src":"3201:3:7"},"nativeSrc":"3201:18:7","nodeType":"YulFunctionCall","src":"3201:18:7"},{"hexValue":"7261646162696c697479","kind":"string","nativeSrc":"3221:12:7","nodeType":"YulLiteral","src":"3221:12:7","type":"","value":"radability"}],"functionName":{"name":"mstore","nativeSrc":"3194:6:7","nodeType":"YulIdentifier","src":"3194:6:7"},"nativeSrc":"3194:40:7","nodeType":"YulFunctionCall","src":"3194:40:7"},"nativeSrc":"3194:40:7","nodeType":"YulExpressionStatement","src":"3194:40:7"},{"nativeSrc":"3243:27:7","nodeType":"YulAssignment","src":"3243:27:7","value":{"arguments":[{"name":"headStart","nativeSrc":"3255:9:7","nodeType":"YulIdentifier","src":"3255:9:7"},{"kind":"number","nativeSrc":"3266:3:7","nodeType":"YulLiteral","src":"3266:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"3251:3:7","nodeType":"YulIdentifier","src":"3251:3:7"},"nativeSrc":"3251:19:7","nodeType":"YulFunctionCall","src":"3251:19:7"},"variableNames":[{"name":"tail","nativeSrc":"3243:4:7","nodeType":"YulIdentifier","src":"3243:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"2870:406:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3021:9:7","nodeType":"YulTypedName","src":"3021:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"3035:4:7","nodeType":"YulTypedName","src":"3035:4:7","type":""}],"src":"2870:406:7"},{"body":{"nativeSrc":"3455:177:7","nodeType":"YulBlock","src":"3455:177:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"3472:9:7","nodeType":"YulIdentifier","src":"3472:9:7"},{"kind":"number","nativeSrc":"3483:2:7","nodeType":"YulLiteral","src":"3483:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"3465:6:7","nodeType":"YulIdentifier","src":"3465:6:7"},"nativeSrc":"3465:21:7","nodeType":"YulFunctionCall","src":"3465:21:7"},"nativeSrc":"3465:21:7","nodeType":"YulExpressionStatement","src":"3465:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3506:9:7","nodeType":"YulIdentifier","src":"3506:9:7"},{"kind":"number","nativeSrc":"3517:2:7","nodeType":"YulLiteral","src":"3517:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3502:3:7","nodeType":"YulIdentifier","src":"3502:3:7"},"nativeSrc":"3502:18:7","nodeType":"YulFunctionCall","src":"3502:18:7"},{"kind":"number","nativeSrc":"3522:2:7","nodeType":"YulLiteral","src":"3522:2:7","type":"","value":"27"}],"functionName":{"name":"mstore","nativeSrc":"3495:6:7","nodeType":"YulIdentifier","src":"3495:6:7"},"nativeSrc":"3495:30:7","nodeType":"YulFunctionCall","src":"3495:30:7"},"nativeSrc":"3495:30:7","nodeType":"YulExpressionStatement","src":"3495:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3545:9:7","nodeType":"YulIdentifier","src":"3545:9:7"},{"kind":"number","nativeSrc":"3556:2:7","nodeType":"YulLiteral","src":"3556:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"3541:3:7","nodeType":"YulIdentifier","src":"3541:3:7"},"nativeSrc":"3541:18:7","nodeType":"YulFunctionCall","src":"3541:18:7"},{"hexValue":"5769746e657450726f78793a206e6f742075706772616461626c65","kind":"string","nativeSrc":"3561:29:7","nodeType":"YulLiteral","src":"3561:29:7","type":"","value":"WitnetProxy: not upgradable"}],"functionName":{"name":"mstore","nativeSrc":"3534:6:7","nodeType":"YulIdentifier","src":"3534:6:7"},"nativeSrc":"3534:57:7","nodeType":"YulFunctionCall","src":"3534:57:7"},"nativeSrc":"3534:57:7","nodeType":"YulExpressionStatement","src":"3534:57:7"},{"nativeSrc":"3600:26:7","nodeType":"YulAssignment","src":"3600:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"3612:9:7","nodeType":"YulIdentifier","src":"3612:9:7"},{"kind":"number","nativeSrc":"3623:2:7","nodeType":"YulLiteral","src":"3623:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"3608:3:7","nodeType":"YulIdentifier","src":"3608:3:7"},"nativeSrc":"3608:18:7","nodeType":"YulFunctionCall","src":"3608:18:7"},"variableNames":[{"name":"tail","nativeSrc":"3600:4:7","nodeType":"YulIdentifier","src":"3600:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"3281:351:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3432:9:7","nodeType":"YulTypedName","src":"3432:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"3446:4:7","nodeType":"YulTypedName","src":"3446:4:7","type":""}],"src":"3281:351:7"},{"body":{"nativeSrc":"3703:184:7","nodeType":"YulBlock","src":"3703:184:7","statements":[{"nativeSrc":"3713:10:7","nodeType":"YulVariableDeclaration","src":"3713:10:7","value":{"kind":"number","nativeSrc":"3722:1:7","nodeType":"YulLiteral","src":"3722:1:7","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"3717:1:7","nodeType":"YulTypedName","src":"3717:1:7","type":""}]},{"body":{"nativeSrc":"3782:63:7","nodeType":"YulBlock","src":"3782:63:7","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"3807:3:7","nodeType":"YulIdentifier","src":"3807:3:7"},{"name":"i","nativeSrc":"3812:1:7","nodeType":"YulIdentifier","src":"3812:1:7"}],"functionName":{"name":"add","nativeSrc":"3803:3:7","nodeType":"YulIdentifier","src":"3803:3:7"},"nativeSrc":"3803:11:7","nodeType":"YulFunctionCall","src":"3803:11:7"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"3826:3:7","nodeType":"YulIdentifier","src":"3826:3:7"},{"name":"i","nativeSrc":"3831:1:7","nodeType":"YulIdentifier","src":"3831:1:7"}],"functionName":{"name":"add","nativeSrc":"3822:3:7","nodeType":"YulIdentifier","src":"3822:3:7"},"nativeSrc":"3822:11:7","nodeType":"YulFunctionCall","src":"3822:11:7"}],"functionName":{"name":"mload","nativeSrc":"3816:5:7","nodeType":"YulIdentifier","src":"3816:5:7"},"nativeSrc":"3816:18:7","nodeType":"YulFunctionCall","src":"3816:18:7"}],"functionName":{"name":"mstore","nativeSrc":"3796:6:7","nodeType":"YulIdentifier","src":"3796:6:7"},"nativeSrc":"3796:39:7","nodeType":"YulFunctionCall","src":"3796:39:7"},"nativeSrc":"3796:39:7","nodeType":"YulExpressionStatement","src":"3796:39:7"}]},"condition":{"arguments":[{"name":"i","nativeSrc":"3743:1:7","nodeType":"YulIdentifier","src":"3743:1:7"},{"name":"length","nativeSrc":"3746:6:7","nodeType":"YulIdentifier","src":"3746:6:7"}],"functionName":{"name":"lt","nativeSrc":"3740:2:7","nodeType":"YulIdentifier","src":"3740:2:7"},"nativeSrc":"3740:13:7","nodeType":"YulFunctionCall","src":"3740:13:7"},"nativeSrc":"3732:113:7","nodeType":"YulForLoop","post":{"nativeSrc":"3754:19:7","nodeType":"YulBlock","src":"3754:19:7","statements":[{"nativeSrc":"3756:15:7","nodeType":"YulAssignment","src":"3756:15:7","value":{"arguments":[{"name":"i","nativeSrc":"3765:1:7","nodeType":"YulIdentifier","src":"3765:1:7"},{"kind":"number","nativeSrc":"3768:2:7","nodeType":"YulLiteral","src":"3768:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3761:3:7","nodeType":"YulIdentifier","src":"3761:3:7"},"nativeSrc":"3761:10:7","nodeType":"YulFunctionCall","src":"3761:10:7"},"variableNames":[{"name":"i","nativeSrc":"3756:1:7","nodeType":"YulIdentifier","src":"3756:1:7"}]}]},"pre":{"nativeSrc":"3736:3:7","nodeType":"YulBlock","src":"3736:3:7","statements":[]},"src":"3732:113:7"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"3865:3:7","nodeType":"YulIdentifier","src":"3865:3:7"},{"name":"length","nativeSrc":"3870:6:7","nodeType":"YulIdentifier","src":"3870:6:7"}],"functionName":{"name":"add","nativeSrc":"3861:3:7","nodeType":"YulIdentifier","src":"3861:3:7"},"nativeSrc":"3861:16:7","nodeType":"YulFunctionCall","src":"3861:16:7"},{"kind":"number","nativeSrc":"3879:1:7","nodeType":"YulLiteral","src":"3879:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"3854:6:7","nodeType":"YulIdentifier","src":"3854:6:7"},"nativeSrc":"3854:27:7","nodeType":"YulFunctionCall","src":"3854:27:7"},"nativeSrc":"3854:27:7","nodeType":"YulExpressionStatement","src":"3854:27:7"}]},"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"3637:250:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"3681:3:7","nodeType":"YulTypedName","src":"3681:3:7","type":""},{"name":"dst","nativeSrc":"3686:3:7","nodeType":"YulTypedName","src":"3686:3:7","type":""},{"name":"length","nativeSrc":"3691:6:7","nodeType":"YulTypedName","src":"3691:6:7","type":""}],"src":"3637:250:7"},{"body":{"nativeSrc":"4029:150:7","nodeType":"YulBlock","src":"4029:150:7","statements":[{"nativeSrc":"4039:27:7","nodeType":"YulVariableDeclaration","src":"4039:27:7","value":{"arguments":[{"name":"value0","nativeSrc":"4059:6:7","nodeType":"YulIdentifier","src":"4059:6:7"}],"functionName":{"name":"mload","nativeSrc":"4053:5:7","nodeType":"YulIdentifier","src":"4053:5:7"},"nativeSrc":"4053:13:7","nodeType":"YulFunctionCall","src":"4053:13:7"},"variables":[{"name":"length","nativeSrc":"4043:6:7","nodeType":"YulTypedName","src":"4043:6:7","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nativeSrc":"4114:6:7","nodeType":"YulIdentifier","src":"4114:6:7"},{"kind":"number","nativeSrc":"4122:4:7","nodeType":"YulLiteral","src":"4122:4:7","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4110:3:7","nodeType":"YulIdentifier","src":"4110:3:7"},"nativeSrc":"4110:17:7","nodeType":"YulFunctionCall","src":"4110:17:7"},{"name":"pos","nativeSrc":"4129:3:7","nodeType":"YulIdentifier","src":"4129:3:7"},{"name":"length","nativeSrc":"4134:6:7","nodeType":"YulIdentifier","src":"4134:6:7"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"4075:34:7","nodeType":"YulIdentifier","src":"4075:34:7"},"nativeSrc":"4075:66:7","nodeType":"YulFunctionCall","src":"4075:66:7"},"nativeSrc":"4075:66:7","nodeType":"YulExpressionStatement","src":"4075:66:7"},{"nativeSrc":"4150:23:7","nodeType":"YulAssignment","src":"4150:23:7","value":{"arguments":[{"name":"pos","nativeSrc":"4161:3:7","nodeType":"YulIdentifier","src":"4161:3:7"},{"name":"length","nativeSrc":"4166:6:7","nodeType":"YulIdentifier","src":"4166:6:7"}],"functionName":{"name":"add","nativeSrc":"4157:3:7","nodeType":"YulIdentifier","src":"4157:3:7"},"nativeSrc":"4157:16:7","nodeType":"YulFunctionCall","src":"4157:16:7"},"variableNames":[{"name":"end","nativeSrc":"4150:3:7","nodeType":"YulIdentifier","src":"4150:3:7"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nativeSrc":"3892:287:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"4005:3:7","nodeType":"YulTypedName","src":"4005:3:7","type":""},{"name":"value0","nativeSrc":"4010:6:7","nodeType":"YulTypedName","src":"4010:6:7","type":""}],"returnVariables":[{"name":"end","nativeSrc":"4021:3:7","nodeType":"YulTypedName","src":"4021:3:7","type":""}],"src":"3892:287:7"},{"body":{"nativeSrc":"4358:229:7","nodeType":"YulBlock","src":"4358:229:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"4375:9:7","nodeType":"YulIdentifier","src":"4375:9:7"},{"kind":"number","nativeSrc":"4386:2:7","nodeType":"YulLiteral","src":"4386:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"4368:6:7","nodeType":"YulIdentifier","src":"4368:6:7"},"nativeSrc":"4368:21:7","nodeType":"YulFunctionCall","src":"4368:21:7"},"nativeSrc":"4368:21:7","nodeType":"YulExpressionStatement","src":"4368:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4409:9:7","nodeType":"YulIdentifier","src":"4409:9:7"},{"kind":"number","nativeSrc":"4420:2:7","nodeType":"YulLiteral","src":"4420:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4405:3:7","nodeType":"YulIdentifier","src":"4405:3:7"},"nativeSrc":"4405:18:7","nodeType":"YulFunctionCall","src":"4405:18:7"},{"kind":"number","nativeSrc":"4425:2:7","nodeType":"YulLiteral","src":"4425:2:7","type":"","value":"39"}],"functionName":{"name":"mstore","nativeSrc":"4398:6:7","nodeType":"YulIdentifier","src":"4398:6:7"},"nativeSrc":"4398:30:7","nodeType":"YulFunctionCall","src":"4398:30:7"},"nativeSrc":"4398:30:7","nodeType":"YulExpressionStatement","src":"4398:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4448:9:7","nodeType":"YulIdentifier","src":"4448:9:7"},{"kind":"number","nativeSrc":"4459:2:7","nodeType":"YulLiteral","src":"4459:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4444:3:7","nodeType":"YulIdentifier","src":"4444:3:7"},"nativeSrc":"4444:18:7","nodeType":"YulFunctionCall","src":"4444:18:7"},{"hexValue":"5769746e657450726f78793a20756e636f6d706c69616e7420696d706c656d65","kind":"string","nativeSrc":"4464:34:7","nodeType":"YulLiteral","src":"4464:34:7","type":"","value":"WitnetProxy: uncompliant impleme"}],"functionName":{"name":"mstore","nativeSrc":"4437:6:7","nodeType":"YulIdentifier","src":"4437:6:7"},"nativeSrc":"4437:62:7","nodeType":"YulFunctionCall","src":"4437:62:7"},"nativeSrc":"4437:62:7","nodeType":"YulExpressionStatement","src":"4437:62:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4519:9:7","nodeType":"YulIdentifier","src":"4519:9:7"},{"kind":"number","nativeSrc":"4530:2:7","nodeType":"YulLiteral","src":"4530:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4515:3:7","nodeType":"YulIdentifier","src":"4515:3:7"},"nativeSrc":"4515:18:7","nodeType":"YulFunctionCall","src":"4515:18:7"},{"hexValue":"6e746174696f6e","kind":"string","nativeSrc":"4535:9:7","nodeType":"YulLiteral","src":"4535:9:7","type":"","value":"ntation"}],"functionName":{"name":"mstore","nativeSrc":"4508:6:7","nodeType":"YulIdentifier","src":"4508:6:7"},"nativeSrc":"4508:37:7","nodeType":"YulFunctionCall","src":"4508:37:7"},"nativeSrc":"4508:37:7","nodeType":"YulExpressionStatement","src":"4508:37:7"},{"nativeSrc":"4554:27:7","nodeType":"YulAssignment","src":"4554:27:7","value":{"arguments":[{"name":"headStart","nativeSrc":"4566:9:7","nodeType":"YulIdentifier","src":"4566:9:7"},{"kind":"number","nativeSrc":"4577:3:7","nodeType":"YulLiteral","src":"4577:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"4562:3:7","nodeType":"YulIdentifier","src":"4562:3:7"},"nativeSrc":"4562:19:7","nodeType":"YulFunctionCall","src":"4562:19:7"},"variableNames":[{"name":"tail","nativeSrc":"4554:4:7","nodeType":"YulIdentifier","src":"4554:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"4184:403:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4335:9:7","nodeType":"YulTypedName","src":"4335:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"4349:4:7","nodeType":"YulTypedName","src":"4349:4:7","type":""}],"src":"4184:403:7"},{"body":{"nativeSrc":"4766:177:7","nodeType":"YulBlock","src":"4766:177:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"4783:9:7","nodeType":"YulIdentifier","src":"4783:9:7"},{"kind":"number","nativeSrc":"4794:2:7","nodeType":"YulLiteral","src":"4794:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"4776:6:7","nodeType":"YulIdentifier","src":"4776:6:7"},"nativeSrc":"4776:21:7","nodeType":"YulFunctionCall","src":"4776:21:7"},"nativeSrc":"4776:21:7","nodeType":"YulExpressionStatement","src":"4776:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4817:9:7","nodeType":"YulIdentifier","src":"4817:9:7"},{"kind":"number","nativeSrc":"4828:2:7","nodeType":"YulLiteral","src":"4828:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4813:3:7","nodeType":"YulIdentifier","src":"4813:3:7"},"nativeSrc":"4813:18:7","nodeType":"YulFunctionCall","src":"4813:18:7"},{"kind":"number","nativeSrc":"4833:2:7","nodeType":"YulLiteral","src":"4833:2:7","type":"","value":"27"}],"functionName":{"name":"mstore","nativeSrc":"4806:6:7","nodeType":"YulIdentifier","src":"4806:6:7"},"nativeSrc":"4806:30:7","nodeType":"YulFunctionCall","src":"4806:30:7"},"nativeSrc":"4806:30:7","nodeType":"YulExpressionStatement","src":"4806:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4856:9:7","nodeType":"YulIdentifier","src":"4856:9:7"},{"kind":"number","nativeSrc":"4867:2:7","nodeType":"YulLiteral","src":"4867:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4852:3:7","nodeType":"YulIdentifier","src":"4852:3:7"},"nativeSrc":"4852:18:7","nodeType":"YulFunctionCall","src":"4852:18:7"},{"hexValue":"5769746e657450726f78793a206e6f7420617574686f72697a6564","kind":"string","nativeSrc":"4872:29:7","nodeType":"YulLiteral","src":"4872:29:7","type":"","value":"WitnetProxy: not authorized"}],"functionName":{"name":"mstore","nativeSrc":"4845:6:7","nodeType":"YulIdentifier","src":"4845:6:7"},"nativeSrc":"4845:57:7","nodeType":"YulFunctionCall","src":"4845:57:7"},"nativeSrc":"4845:57:7","nodeType":"YulExpressionStatement","src":"4845:57:7"},{"nativeSrc":"4911:26:7","nodeType":"YulAssignment","src":"4911:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"4923:9:7","nodeType":"YulIdentifier","src":"4923:9:7"},{"kind":"number","nativeSrc":"4934:2:7","nodeType":"YulLiteral","src":"4934:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4919:3:7","nodeType":"YulIdentifier","src":"4919:3:7"},"nativeSrc":"4919:18:7","nodeType":"YulFunctionCall","src":"4919:18:7"},"variableNames":[{"name":"tail","nativeSrc":"4911:4:7","nodeType":"YulIdentifier","src":"4911:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"4592:351:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4743:9:7","nodeType":"YulTypedName","src":"4743:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"4757:4:7","nodeType":"YulTypedName","src":"4757:4:7","type":""}],"src":"4592:351:7"},{"body":{"nativeSrc":"5029:103:7","nodeType":"YulBlock","src":"5029:103:7","statements":[{"body":{"nativeSrc":"5075:16:7","nodeType":"YulBlock","src":"5075:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5084:1:7","nodeType":"YulLiteral","src":"5084:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"5087:1:7","nodeType":"YulLiteral","src":"5087:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5077:6:7","nodeType":"YulIdentifier","src":"5077:6:7"},"nativeSrc":"5077:12:7","nodeType":"YulFunctionCall","src":"5077:12:7"},"nativeSrc":"5077:12:7","nodeType":"YulExpressionStatement","src":"5077:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"5050:7:7","nodeType":"YulIdentifier","src":"5050:7:7"},{"name":"headStart","nativeSrc":"5059:9:7","nodeType":"YulIdentifier","src":"5059:9:7"}],"functionName":{"name":"sub","nativeSrc":"5046:3:7","nodeType":"YulIdentifier","src":"5046:3:7"},"nativeSrc":"5046:23:7","nodeType":"YulFunctionCall","src":"5046:23:7"},{"kind":"number","nativeSrc":"5071:2:7","nodeType":"YulLiteral","src":"5071:2:7","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"5042:3:7","nodeType":"YulIdentifier","src":"5042:3:7"},"nativeSrc":"5042:32:7","nodeType":"YulFunctionCall","src":"5042:32:7"},"nativeSrc":"5039:52:7","nodeType":"YulIf","src":"5039:52:7"},{"nativeSrc":"5100:26:7","nodeType":"YulAssignment","src":"5100:26:7","value":{"arguments":[{"name":"headStart","nativeSrc":"5116:9:7","nodeType":"YulIdentifier","src":"5116:9:7"}],"functionName":{"name":"mload","nativeSrc":"5110:5:7","nodeType":"YulIdentifier","src":"5110:5:7"},"nativeSrc":"5110:16:7","nodeType":"YulFunctionCall","src":"5110:16:7"},"variableNames":[{"name":"value0","nativeSrc":"5100:6:7","nodeType":"YulIdentifier","src":"5100:6:7"}]}]},"name":"abi_decode_tuple_t_bytes32_fromMemory","nativeSrc":"4948:184:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4995:9:7","nodeType":"YulTypedName","src":"4995:9:7","type":""},{"name":"dataEnd","nativeSrc":"5006:7:7","nodeType":"YulTypedName","src":"5006:7:7","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"5018:6:7","nodeType":"YulTypedName","src":"5018:6:7","type":""}],"src":"4948:184:7"},{"body":{"nativeSrc":"5311:226:7","nodeType":"YulBlock","src":"5311:226:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"5328:9:7","nodeType":"YulIdentifier","src":"5328:9:7"},{"kind":"number","nativeSrc":"5339:2:7","nodeType":"YulLiteral","src":"5339:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"5321:6:7","nodeType":"YulIdentifier","src":"5321:6:7"},"nativeSrc":"5321:21:7","nodeType":"YulFunctionCall","src":"5321:21:7"},"nativeSrc":"5321:21:7","nodeType":"YulExpressionStatement","src":"5321:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5362:9:7","nodeType":"YulIdentifier","src":"5362:9:7"},{"kind":"number","nativeSrc":"5373:2:7","nodeType":"YulLiteral","src":"5373:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5358:3:7","nodeType":"YulIdentifier","src":"5358:3:7"},"nativeSrc":"5358:18:7","nodeType":"YulFunctionCall","src":"5358:18:7"},{"kind":"number","nativeSrc":"5378:2:7","nodeType":"YulLiteral","src":"5378:2:7","type":"","value":"36"}],"functionName":{"name":"mstore","nativeSrc":"5351:6:7","nodeType":"YulIdentifier","src":"5351:6:7"},"nativeSrc":"5351:30:7","nodeType":"YulFunctionCall","src":"5351:30:7"},"nativeSrc":"5351:30:7","nodeType":"YulExpressionStatement","src":"5351:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5401:9:7","nodeType":"YulIdentifier","src":"5401:9:7"},{"kind":"number","nativeSrc":"5412:2:7","nodeType":"YulLiteral","src":"5412:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"5397:3:7","nodeType":"YulIdentifier","src":"5397:3:7"},"nativeSrc":"5397:18:7","nodeType":"YulFunctionCall","src":"5397:18:7"},{"hexValue":"5769746e657450726f78793a2070726f786961626c655555494473206d69736d","kind":"string","nativeSrc":"5417:34:7","nodeType":"YulLiteral","src":"5417:34:7","type":"","value":"WitnetProxy: proxiableUUIDs mism"}],"functionName":{"name":"mstore","nativeSrc":"5390:6:7","nodeType":"YulIdentifier","src":"5390:6:7"},"nativeSrc":"5390:62:7","nodeType":"YulFunctionCall","src":"5390:62:7"},"nativeSrc":"5390:62:7","nodeType":"YulExpressionStatement","src":"5390:62:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5472:9:7","nodeType":"YulIdentifier","src":"5472:9:7"},{"kind":"number","nativeSrc":"5483:2:7","nodeType":"YulLiteral","src":"5483:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"5468:3:7","nodeType":"YulIdentifier","src":"5468:3:7"},"nativeSrc":"5468:18:7","nodeType":"YulFunctionCall","src":"5468:18:7"},{"hexValue":"61746368","kind":"string","nativeSrc":"5488:6:7","nodeType":"YulLiteral","src":"5488:6:7","type":"","value":"atch"}],"functionName":{"name":"mstore","nativeSrc":"5461:6:7","nodeType":"YulIdentifier","src":"5461:6:7"},"nativeSrc":"5461:34:7","nodeType":"YulFunctionCall","src":"5461:34:7"},"nativeSrc":"5461:34:7","nodeType":"YulExpressionStatement","src":"5461:34:7"},{"nativeSrc":"5504:27:7","nodeType":"YulAssignment","src":"5504:27:7","value":{"arguments":[{"name":"headStart","nativeSrc":"5516:9:7","nodeType":"YulIdentifier","src":"5516:9:7"},{"kind":"number","nativeSrc":"5527:3:7","nodeType":"YulLiteral","src":"5527:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"5512:3:7","nodeType":"YulIdentifier","src":"5512:3:7"},"nativeSrc":"5512:19:7","nodeType":"YulFunctionCall","src":"5512:19:7"},"variableNames":[{"name":"tail","nativeSrc":"5504:4:7","nodeType":"YulIdentifier","src":"5504:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"5137:400:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5288:9:7","nodeType":"YulTypedName","src":"5288:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5302:4:7","nodeType":"YulTypedName","src":"5302:4:7","type":""}],"src":"5137:400:7"},{"body":{"nativeSrc":"5591:221:7","nodeType":"YulBlock","src":"5591:221:7","statements":[{"nativeSrc":"5601:26:7","nodeType":"YulVariableDeclaration","src":"5601:26:7","value":{"arguments":[{"name":"value","nativeSrc":"5621:5:7","nodeType":"YulIdentifier","src":"5621:5:7"}],"functionName":{"name":"mload","nativeSrc":"5615:5:7","nodeType":"YulIdentifier","src":"5615:5:7"},"nativeSrc":"5615:12:7","nodeType":"YulFunctionCall","src":"5615:12:7"},"variables":[{"name":"length","nativeSrc":"5605:6:7","nodeType":"YulTypedName","src":"5605:6:7","type":""}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"5643:3:7","nodeType":"YulIdentifier","src":"5643:3:7"},{"name":"length","nativeSrc":"5648:6:7","nodeType":"YulIdentifier","src":"5648:6:7"}],"functionName":{"name":"mstore","nativeSrc":"5636:6:7","nodeType":"YulIdentifier","src":"5636:6:7"},"nativeSrc":"5636:19:7","nodeType":"YulFunctionCall","src":"5636:19:7"},"nativeSrc":"5636:19:7","nodeType":"YulExpressionStatement","src":"5636:19:7"},{"expression":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5703:5:7","nodeType":"YulIdentifier","src":"5703:5:7"},{"kind":"number","nativeSrc":"5710:4:7","nodeType":"YulLiteral","src":"5710:4:7","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5699:3:7","nodeType":"YulIdentifier","src":"5699:3:7"},"nativeSrc":"5699:16:7","nodeType":"YulFunctionCall","src":"5699:16:7"},{"arguments":[{"name":"pos","nativeSrc":"5721:3:7","nodeType":"YulIdentifier","src":"5721:3:7"},{"kind":"number","nativeSrc":"5726:4:7","nodeType":"YulLiteral","src":"5726:4:7","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5717:3:7","nodeType":"YulIdentifier","src":"5717:3:7"},"nativeSrc":"5717:14:7","nodeType":"YulFunctionCall","src":"5717:14:7"},{"name":"length","nativeSrc":"5733:6:7","nodeType":"YulIdentifier","src":"5733:6:7"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"5664:34:7","nodeType":"YulIdentifier","src":"5664:34:7"},"nativeSrc":"5664:76:7","nodeType":"YulFunctionCall","src":"5664:76:7"},"nativeSrc":"5664:76:7","nodeType":"YulExpressionStatement","src":"5664:76:7"},{"nativeSrc":"5749:57:7","nodeType":"YulAssignment","src":"5749:57:7","value":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"5764:3:7","nodeType":"YulIdentifier","src":"5764:3:7"},{"arguments":[{"arguments":[{"name":"length","nativeSrc":"5777:6:7","nodeType":"YulIdentifier","src":"5777:6:7"},{"kind":"number","nativeSrc":"5785:2:7","nodeType":"YulLiteral","src":"5785:2:7","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"5773:3:7","nodeType":"YulIdentifier","src":"5773:3:7"},"nativeSrc":"5773:15:7","nodeType":"YulFunctionCall","src":"5773:15:7"},{"arguments":[{"kind":"number","nativeSrc":"5794:2:7","nodeType":"YulLiteral","src":"5794:2:7","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"5790:3:7","nodeType":"YulIdentifier","src":"5790:3:7"},"nativeSrc":"5790:7:7","nodeType":"YulFunctionCall","src":"5790:7:7"}],"functionName":{"name":"and","nativeSrc":"5769:3:7","nodeType":"YulIdentifier","src":"5769:3:7"},"nativeSrc":"5769:29:7","nodeType":"YulFunctionCall","src":"5769:29:7"}],"functionName":{"name":"add","nativeSrc":"5760:3:7","nodeType":"YulIdentifier","src":"5760:3:7"},"nativeSrc":"5760:39:7","nodeType":"YulFunctionCall","src":"5760:39:7"},{"kind":"number","nativeSrc":"5801:4:7","nodeType":"YulLiteral","src":"5801:4:7","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5756:3:7","nodeType":"YulIdentifier","src":"5756:3:7"},"nativeSrc":"5756:50:7","nodeType":"YulFunctionCall","src":"5756:50:7"},"variableNames":[{"name":"end","nativeSrc":"5749:3:7","nodeType":"YulIdentifier","src":"5749:3:7"}]}]},"name":"abi_encode_bytes","nativeSrc":"5542:270:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5568:5:7","nodeType":"YulTypedName","src":"5568:5:7","type":""},{"name":"pos","nativeSrc":"5575:3:7","nodeType":"YulTypedName","src":"5575:3:7","type":""}],"returnVariables":[{"name":"end","nativeSrc":"5583:3:7","nodeType":"YulTypedName","src":"5583:3:7","type":""}],"src":"5542:270:7"},{"body":{"nativeSrc":"5936:98:7","nodeType":"YulBlock","src":"5936:98:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"5953:9:7","nodeType":"YulIdentifier","src":"5953:9:7"},{"kind":"number","nativeSrc":"5964:2:7","nodeType":"YulLiteral","src":"5964:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"5946:6:7","nodeType":"YulIdentifier","src":"5946:6:7"},"nativeSrc":"5946:21:7","nodeType":"YulFunctionCall","src":"5946:21:7"},"nativeSrc":"5946:21:7","nodeType":"YulExpressionStatement","src":"5946:21:7"},{"nativeSrc":"5976:52:7","nodeType":"YulAssignment","src":"5976:52:7","value":{"arguments":[{"name":"value0","nativeSrc":"6001:6:7","nodeType":"YulIdentifier","src":"6001:6:7"},{"arguments":[{"name":"headStart","nativeSrc":"6013:9:7","nodeType":"YulIdentifier","src":"6013:9:7"},{"kind":"number","nativeSrc":"6024:2:7","nodeType":"YulLiteral","src":"6024:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6009:3:7","nodeType":"YulIdentifier","src":"6009:3:7"},"nativeSrc":"6009:18:7","nodeType":"YulFunctionCall","src":"6009:18:7"}],"functionName":{"name":"abi_encode_bytes","nativeSrc":"5984:16:7","nodeType":"YulIdentifier","src":"5984:16:7"},"nativeSrc":"5984:44:7","nodeType":"YulFunctionCall","src":"5984:44:7"},"variableNames":[{"name":"tail","nativeSrc":"5976:4:7","nodeType":"YulIdentifier","src":"5976:4:7"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nativeSrc":"5817:217:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5905:9:7","nodeType":"YulTypedName","src":"5905:9:7","type":""},{"name":"value0","nativeSrc":"5916:6:7","nodeType":"YulTypedName","src":"5916:6:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5927:4:7","nodeType":"YulTypedName","src":"5927:4:7","type":""}],"src":"5817:217:7"},{"body":{"nativeSrc":"6213:224:7","nodeType":"YulBlock","src":"6213:224:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"6230:9:7","nodeType":"YulIdentifier","src":"6230:9:7"},{"kind":"number","nativeSrc":"6241:2:7","nodeType":"YulLiteral","src":"6241:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"6223:6:7","nodeType":"YulIdentifier","src":"6223:6:7"},"nativeSrc":"6223:21:7","nodeType":"YulFunctionCall","src":"6223:21:7"},"nativeSrc":"6223:21:7","nodeType":"YulExpressionStatement","src":"6223:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6264:9:7","nodeType":"YulIdentifier","src":"6264:9:7"},{"kind":"number","nativeSrc":"6275:2:7","nodeType":"YulLiteral","src":"6275:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6260:3:7","nodeType":"YulIdentifier","src":"6260:3:7"},"nativeSrc":"6260:18:7","nodeType":"YulFunctionCall","src":"6260:18:7"},{"kind":"number","nativeSrc":"6280:2:7","nodeType":"YulLiteral","src":"6280:2:7","type":"","value":"34"}],"functionName":{"name":"mstore","nativeSrc":"6253:6:7","nodeType":"YulIdentifier","src":"6253:6:7"},"nativeSrc":"6253:30:7","nodeType":"YulFunctionCall","src":"6253:30:7"},"nativeSrc":"6253:30:7","nodeType":"YulExpressionStatement","src":"6253:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6303:9:7","nodeType":"YulIdentifier","src":"6303:9:7"},{"kind":"number","nativeSrc":"6314:2:7","nodeType":"YulLiteral","src":"6314:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"6299:3:7","nodeType":"YulIdentifier","src":"6299:3:7"},"nativeSrc":"6299:18:7","nodeType":"YulFunctionCall","src":"6299:18:7"},{"hexValue":"5769746e657450726f78793a20696e697469616c697a6174696f6e206661696c","kind":"string","nativeSrc":"6319:34:7","nodeType":"YulLiteral","src":"6319:34:7","type":"","value":"WitnetProxy: initialization fail"}],"functionName":{"name":"mstore","nativeSrc":"6292:6:7","nodeType":"YulIdentifier","src":"6292:6:7"},"nativeSrc":"6292:62:7","nodeType":"YulFunctionCall","src":"6292:62:7"},"nativeSrc":"6292:62:7","nodeType":"YulExpressionStatement","src":"6292:62:7"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6374:9:7","nodeType":"YulIdentifier","src":"6374:9:7"},{"kind":"number","nativeSrc":"6385:2:7","nodeType":"YulLiteral","src":"6385:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"6370:3:7","nodeType":"YulIdentifier","src":"6370:3:7"},"nativeSrc":"6370:18:7","nodeType":"YulFunctionCall","src":"6370:18:7"},{"hexValue":"6564","kind":"string","nativeSrc":"6390:4:7","nodeType":"YulLiteral","src":"6390:4:7","type":"","value":"ed"}],"functionName":{"name":"mstore","nativeSrc":"6363:6:7","nodeType":"YulIdentifier","src":"6363:6:7"},"nativeSrc":"6363:32:7","nodeType":"YulFunctionCall","src":"6363:32:7"},"nativeSrc":"6363:32:7","nodeType":"YulExpressionStatement","src":"6363:32:7"},{"nativeSrc":"6404:27:7","nodeType":"YulAssignment","src":"6404:27:7","value":{"arguments":[{"name":"headStart","nativeSrc":"6416:9:7","nodeType":"YulIdentifier","src":"6416:9:7"},{"kind":"number","nativeSrc":"6427:3:7","nodeType":"YulLiteral","src":"6427:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"6412:3:7","nodeType":"YulIdentifier","src":"6412:3:7"},"nativeSrc":"6412:19:7","nodeType":"YulFunctionCall","src":"6412:19:7"},"variableNames":[{"name":"tail","nativeSrc":"6404:4:7","nodeType":"YulIdentifier","src":"6404:4:7"}]}]},"name":"abi_encode_tuple_t_stringliteral_1a3a4ea76e2e68e14fc5328c93896fc2e23cf33c9f37d13d21f0003bedc2d604__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"6039:398:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6190:9:7","nodeType":"YulTypedName","src":"6190:9:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"6204:4:7","nodeType":"YulTypedName","src":"6204:4:7","type":""}],"src":"6039:398:7"},{"body":{"nativeSrc":"6533:557:7","nodeType":"YulBlock","src":"6533:557:7","statements":[{"body":{"nativeSrc":"6579:16:7","nodeType":"YulBlock","src":"6579:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6588:1:7","nodeType":"YulLiteral","src":"6588:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"6591:1:7","nodeType":"YulLiteral","src":"6591:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6581:6:7","nodeType":"YulIdentifier","src":"6581:6:7"},"nativeSrc":"6581:12:7","nodeType":"YulFunctionCall","src":"6581:12:7"},"nativeSrc":"6581:12:7","nodeType":"YulExpressionStatement","src":"6581:12:7"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"6554:7:7","nodeType":"YulIdentifier","src":"6554:7:7"},{"name":"headStart","nativeSrc":"6563:9:7","nodeType":"YulIdentifier","src":"6563:9:7"}],"functionName":{"name":"sub","nativeSrc":"6550:3:7","nodeType":"YulIdentifier","src":"6550:3:7"},"nativeSrc":"6550:23:7","nodeType":"YulFunctionCall","src":"6550:23:7"},{"kind":"number","nativeSrc":"6575:2:7","nodeType":"YulLiteral","src":"6575:2:7","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"6546:3:7","nodeType":"YulIdentifier","src":"6546:3:7"},"nativeSrc":"6546:32:7","nodeType":"YulFunctionCall","src":"6546:32:7"},"nativeSrc":"6543:52:7","nodeType":"YulIf","src":"6543:52:7"},{"nativeSrc":"6604:30:7","nodeType":"YulVariableDeclaration","src":"6604:30:7","value":{"arguments":[{"name":"headStart","nativeSrc":"6624:9:7","nodeType":"YulIdentifier","src":"6624:9:7"}],"functionName":{"name":"mload","nativeSrc":"6618:5:7","nodeType":"YulIdentifier","src":"6618:5:7"},"nativeSrc":"6618:16:7","nodeType":"YulFunctionCall","src":"6618:16:7"},"variables":[{"name":"offset","nativeSrc":"6608:6:7","nodeType":"YulTypedName","src":"6608:6:7","type":""}]},{"body":{"nativeSrc":"6677:16:7","nodeType":"YulBlock","src":"6677:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6686:1:7","nodeType":"YulLiteral","src":"6686:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"6689:1:7","nodeType":"YulLiteral","src":"6689:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6679:6:7","nodeType":"YulIdentifier","src":"6679:6:7"},"nativeSrc":"6679:12:7","nodeType":"YulFunctionCall","src":"6679:12:7"},"nativeSrc":"6679:12:7","nodeType":"YulExpressionStatement","src":"6679:12:7"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"6649:6:7","nodeType":"YulIdentifier","src":"6649:6:7"},{"kind":"number","nativeSrc":"6657:18:7","nodeType":"YulLiteral","src":"6657:18:7","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"6646:2:7","nodeType":"YulIdentifier","src":"6646:2:7"},"nativeSrc":"6646:30:7","nodeType":"YulFunctionCall","src":"6646:30:7"},"nativeSrc":"6643:50:7","nodeType":"YulIf","src":"6643:50:7"},{"nativeSrc":"6702:32:7","nodeType":"YulVariableDeclaration","src":"6702:32:7","value":{"arguments":[{"name":"headStart","nativeSrc":"6716:9:7","nodeType":"YulIdentifier","src":"6716:9:7"},{"name":"offset","nativeSrc":"6727:6:7","nodeType":"YulIdentifier","src":"6727:6:7"}],"functionName":{"name":"add","nativeSrc":"6712:3:7","nodeType":"YulIdentifier","src":"6712:3:7"},"nativeSrc":"6712:22:7","nodeType":"YulFunctionCall","src":"6712:22:7"},"variables":[{"name":"_1","nativeSrc":"6706:2:7","nodeType":"YulTypedName","src":"6706:2:7","type":""}]},{"body":{"nativeSrc":"6782:16:7","nodeType":"YulBlock","src":"6782:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6791:1:7","nodeType":"YulLiteral","src":"6791:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"6794:1:7","nodeType":"YulLiteral","src":"6794:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6784:6:7","nodeType":"YulIdentifier","src":"6784:6:7"},"nativeSrc":"6784:12:7","nodeType":"YulFunctionCall","src":"6784:12:7"},"nativeSrc":"6784:12:7","nodeType":"YulExpressionStatement","src":"6784:12:7"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nativeSrc":"6761:2:7","nodeType":"YulIdentifier","src":"6761:2:7"},{"kind":"number","nativeSrc":"6765:4:7","nodeType":"YulLiteral","src":"6765:4:7","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"6757:3:7","nodeType":"YulIdentifier","src":"6757:3:7"},"nativeSrc":"6757:13:7","nodeType":"YulFunctionCall","src":"6757:13:7"},{"name":"dataEnd","nativeSrc":"6772:7:7","nodeType":"YulIdentifier","src":"6772:7:7"}],"functionName":{"name":"slt","nativeSrc":"6753:3:7","nodeType":"YulIdentifier","src":"6753:3:7"},"nativeSrc":"6753:27:7","nodeType":"YulFunctionCall","src":"6753:27:7"}],"functionName":{"name":"iszero","nativeSrc":"6746:6:7","nodeType":"YulIdentifier","src":"6746:6:7"},"nativeSrc":"6746:35:7","nodeType":"YulFunctionCall","src":"6746:35:7"},"nativeSrc":"6743:55:7","nodeType":"YulIf","src":"6743:55:7"},{"nativeSrc":"6807:19:7","nodeType":"YulVariableDeclaration","src":"6807:19:7","value":{"arguments":[{"name":"_1","nativeSrc":"6823:2:7","nodeType":"YulIdentifier","src":"6823:2:7"}],"functionName":{"name":"mload","nativeSrc":"6817:5:7","nodeType":"YulIdentifier","src":"6817:5:7"},"nativeSrc":"6817:9:7","nodeType":"YulFunctionCall","src":"6817:9:7"},"variables":[{"name":"_2","nativeSrc":"6811:2:7","nodeType":"YulTypedName","src":"6811:2:7","type":""}]},{"nativeSrc":"6835:61:7","nodeType":"YulVariableDeclaration","src":"6835:61:7","value":{"arguments":[{"arguments":[{"name":"_2","nativeSrc":"6892:2:7","nodeType":"YulIdentifier","src":"6892:2:7"}],"functionName":{"name":"array_allocation_size_bytes","nativeSrc":"6864:27:7","nodeType":"YulIdentifier","src":"6864:27:7"},"nativeSrc":"6864:31:7","nodeType":"YulFunctionCall","src":"6864:31:7"}],"functionName":{"name":"allocate_memory","nativeSrc":"6848:15:7","nodeType":"YulIdentifier","src":"6848:15:7"},"nativeSrc":"6848:48:7","nodeType":"YulFunctionCall","src":"6848:48:7"},"variables":[{"name":"array","nativeSrc":"6839:5:7","nodeType":"YulTypedName","src":"6839:5:7","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"6912:5:7","nodeType":"YulIdentifier","src":"6912:5:7"},{"name":"_2","nativeSrc":"6919:2:7","nodeType":"YulIdentifier","src":"6919:2:7"}],"functionName":{"name":"mstore","nativeSrc":"6905:6:7","nodeType":"YulIdentifier","src":"6905:6:7"},"nativeSrc":"6905:17:7","nodeType":"YulFunctionCall","src":"6905:17:7"},"nativeSrc":"6905:17:7","nodeType":"YulExpressionStatement","src":"6905:17:7"},{"body":{"nativeSrc":"6968:16:7","nodeType":"YulBlock","src":"6968:16:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6977:1:7","nodeType":"YulLiteral","src":"6977:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"6980:1:7","nodeType":"YulLiteral","src":"6980:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6970:6:7","nodeType":"YulIdentifier","src":"6970:6:7"},"nativeSrc":"6970:12:7","nodeType":"YulFunctionCall","src":"6970:12:7"},"nativeSrc":"6970:12:7","nodeType":"YulExpressionStatement","src":"6970:12:7"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nativeSrc":"6945:2:7","nodeType":"YulIdentifier","src":"6945:2:7"},{"name":"_2","nativeSrc":"6949:2:7","nodeType":"YulIdentifier","src":"6949:2:7"}],"functionName":{"name":"add","nativeSrc":"6941:3:7","nodeType":"YulIdentifier","src":"6941:3:7"},"nativeSrc":"6941:11:7","nodeType":"YulFunctionCall","src":"6941:11:7"},{"kind":"number","nativeSrc":"6954:2:7","nodeType":"YulLiteral","src":"6954:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6937:3:7","nodeType":"YulIdentifier","src":"6937:3:7"},"nativeSrc":"6937:20:7","nodeType":"YulFunctionCall","src":"6937:20:7"},{"name":"dataEnd","nativeSrc":"6959:7:7","nodeType":"YulIdentifier","src":"6959:7:7"}],"functionName":{"name":"gt","nativeSrc":"6934:2:7","nodeType":"YulIdentifier","src":"6934:2:7"},"nativeSrc":"6934:33:7","nodeType":"YulFunctionCall","src":"6934:33:7"},"nativeSrc":"6931:53:7","nodeType":"YulIf","src":"6931:53:7"},{"expression":{"arguments":[{"arguments":[{"name":"_1","nativeSrc":"7032:2:7","nodeType":"YulIdentifier","src":"7032:2:7"},{"kind":"number","nativeSrc":"7036:2:7","nodeType":"YulLiteral","src":"7036:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7028:3:7","nodeType":"YulIdentifier","src":"7028:3:7"},"nativeSrc":"7028:11:7","nodeType":"YulFunctionCall","src":"7028:11:7"},{"arguments":[{"name":"array","nativeSrc":"7045:5:7","nodeType":"YulIdentifier","src":"7045:5:7"},{"kind":"number","nativeSrc":"7052:2:7","nodeType":"YulLiteral","src":"7052:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7041:3:7","nodeType":"YulIdentifier","src":"7041:3:7"},"nativeSrc":"7041:14:7","nodeType":"YulFunctionCall","src":"7041:14:7"},{"name":"_2","nativeSrc":"7057:2:7","nodeType":"YulIdentifier","src":"7057:2:7"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"6993:34:7","nodeType":"YulIdentifier","src":"6993:34:7"},"nativeSrc":"6993:67:7","nodeType":"YulFunctionCall","src":"6993:67:7"},"nativeSrc":"6993:67:7","nodeType":"YulExpressionStatement","src":"6993:67:7"},{"nativeSrc":"7069:15:7","nodeType":"YulAssignment","src":"7069:15:7","value":{"name":"array","nativeSrc":"7079:5:7","nodeType":"YulIdentifier","src":"7079:5:7"},"variableNames":[{"name":"value0","nativeSrc":"7069:6:7","nodeType":"YulIdentifier","src":"7069:6:7"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nativeSrc":"6442:648:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6499:9:7","nodeType":"YulTypedName","src":"6499:9:7","type":""},{"name":"dataEnd","nativeSrc":"6510:7:7","nodeType":"YulTypedName","src":"6510:7:7","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"6522:6:7","nodeType":"YulTypedName","src":"6522:6:7","type":""}],"src":"6442:648:7"},{"body":{"nativeSrc":"7216:98:7","nodeType":"YulBlock","src":"7216:98:7","statements":[{"expression":{"arguments":[{"name":"headStart","nativeSrc":"7233:9:7","nodeType":"YulIdentifier","src":"7233:9:7"},{"kind":"number","nativeSrc":"7244:2:7","nodeType":"YulLiteral","src":"7244:2:7","type":"","value":"32"}],"functionName":{"name":"mstore","nativeSrc":"7226:6:7","nodeType":"YulIdentifier","src":"7226:6:7"},"nativeSrc":"7226:21:7","nodeType":"YulFunctionCall","src":"7226:21:7"},"nativeSrc":"7226:21:7","nodeType":"YulExpressionStatement","src":"7226:21:7"},{"nativeSrc":"7256:52:7","nodeType":"YulAssignment","src":"7256:52:7","value":{"arguments":[{"name":"value0","nativeSrc":"7281:6:7","nodeType":"YulIdentifier","src":"7281:6:7"},{"arguments":[{"name":"headStart","nativeSrc":"7293:9:7","nodeType":"YulIdentifier","src":"7293:9:7"},{"kind":"number","nativeSrc":"7304:2:7","nodeType":"YulLiteral","src":"7304:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7289:3:7","nodeType":"YulIdentifier","src":"7289:3:7"},"nativeSrc":"7289:18:7","nodeType":"YulFunctionCall","src":"7289:18:7"}],"functionName":{"name":"abi_encode_bytes","nativeSrc":"7264:16:7","nodeType":"YulIdentifier","src":"7264:16:7"},"nativeSrc":"7264:44:7","nodeType":"YulFunctionCall","src":"7264:44:7"},"variableNames":[{"name":"tail","nativeSrc":"7256:4:7","nodeType":"YulIdentifier","src":"7256:4:7"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"7095:219:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"7185:9:7","nodeType":"YulTypedName","src":"7185:9:7","type":""},{"name":"value0","nativeSrc":"7196:6:7","nodeType":"YulTypedName","src":"7196:6:7","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"7207:4:7","nodeType":"YulTypedName","src":"7207:4:7","type":""}],"src":"7095:219:7"}]},"contents":"{\n { }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_bytes(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := calldataload(_1)\n let array := allocate_memory(array_allocation_size_bytes(_2))\n mstore(array, _2)\n if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(array, 32), add(_1, 32), _2)\n mstore(add(add(array, _2), 32), 0)\n value1 := array\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"WitnetProxy: null implementation\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"WitnetProxy: nothing to upgrade\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"WitnetProxy: unable to check upg\")\n mstore(add(headStart, 96), \"radability\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"WitnetProxy: not upgradable\")\n tail := add(headStart, 96)\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 function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"WitnetProxy: uncompliant impleme\")\n mstore(add(headStart, 96), \"ntation\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"WitnetProxy: not authorized\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"WitnetProxy: proxiableUUIDs mism\")\n mstore(add(headStart, 96), \"atch\")\n tail := add(headStart, 128)\n }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_1a3a4ea76e2e68e14fc5328c93896fc2e23cf33c9f37d13d21f0003bedc2d604__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"WitnetProxy: initialization fail\")\n mstore(add(headStart, 96), \"ed\")\n tail := add(headStart, 128)\n }\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := mload(_1)\n let array := allocate_memory(array_allocation_size_bytes(_2))\n mstore(array, _2)\n if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_1, 32), add(array, 32), _2)\n value0 := array\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n}","id":7,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061002d5760003560e01c80635c60da1b146100655780636fbc15e91461009757610034565b3661003457005b600061003e6100c7565b905060405136600082376000803683855af43d806000843e818015610061578184f35b8184fd5b34801561007157600080fd5b5061007a6100c7565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100a357600080fd5b506100b76100b2366004610791565b6100f5565b604051901515815260200161008e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60006001600160a01b0383166101525760405162461bcd60e51b815260206004820181905260248201527f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e60448201526064015b60405180910390fd5b600061015c6100c7565b90506001600160a01b0381161561050857806001600160a01b0316846001600160a01b0316036101ce5760405162461bcd60e51b815260206004820152601f60248201527f5769746e657450726f78793a206e6f7468696e6720746f2075706772616465006044820152606401610149565b806001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610228575060408051601f3d908101601f1916820190925261022591810190610830565b60015b6102875760405162461bcd60e51b815260206004820152602a60248201527f5769746e657450726f78793a20756e61626c6520746f20636865636b207570676044820152697261646162696c69747960b01b6064820152608401610149565b806102d45760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f742075706772616461626c6500000000006044820152606401610149565b5060405133602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180516001600160e01b03166335ac4b0560e11b17905251610326919061087d565b600060405180830381855af49150503d8060008114610361576040519150601f19603f3d011682016040523d82523d6000602084013e610366565b606091505b5091509150816103885760405162461bcd60e51b815260040161014990610899565b8080602001905181019061039c9190610830565b6103e85760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f7420617574686f72697a656400000000006044820152606401610149565b856001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044a91906108e0565b836001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906108e0565b146105055760405162461bcd60e51b8152602060048201526024808201527f5769746e657450726f78793a2070726f786961626c655555494473206d69736d6044820152630c2e8c6d60e31b6064820152608401610149565b50505b600080856001600160a01b0316856040516024016105269190610925565b60408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b1790525161055b919061087d565b600060405180830381855af49150503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b509150915081610635576044815110156106025760405162461bcd60e51b815260206004820152602260248201527f5769746e657450726f78793a20696e697469616c697a6174696f6e206661696c604482015261195960f21b6064820152608401610149565b6004810190508080602001905181019061061c9190610938565b60405162461bcd60e51b81526004016101499190610925565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0388169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2856001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106f5575060408051601f3d908101601f191682019092526106f291810190610830565b60015b6107115760405162461bcd60e51b815260040161014990610899565b935061071c92505050565b92915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561076157610761610722565b604052919050565b600067ffffffffffffffff82111561078357610783610722565b50601f01601f191660200190565b600080604083850312156107a457600080fd5b82356001600160a01b03811681146107bb57600080fd5b9150602083013567ffffffffffffffff8111156107d757600080fd5b8301601f810185136107e857600080fd5b80356107fb6107f682610769565b610738565b81815286602083850101111561081057600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561084257600080fd5b8151801515811461085257600080fd5b9392505050565b60005b8381101561087457818101518382015260200161085c565b50506000910152565b6000825161088f818460208701610859565b9190910192915050565b60208082526027908201527f5769746e657450726f78793a20756e636f6d706c69616e7420696d706c656d65604082015266373a30ba34b7b760c91b606082015260800190565b6000602082840312156108f257600080fd5b5051919050565b60008151808452610911816020860160208601610859565b601f01601f19169290920160200192915050565b60208152600061085260208301846108f9565b60006020828403121561094a57600080fd5b815167ffffffffffffffff81111561096157600080fd5b8201601f8101841361097257600080fd5b80516109806107f682610769565b81815285602083850101111561099557600080fd5b6109a6826020830160208601610859565b9594505050505056fea26469706673582212201957a447cb6258f9d88fe3ec46365775f9fb0d97ce1906f310fc696a92715c1764736f6c63430008190033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x65 JUMPI DUP1 PUSH4 0x6FBC15E9 EQ PUSH2 0x97 JUMPI PUSH2 0x34 JUMP JUMPDEST CALLDATASIZE PUSH2 0x34 JUMPI STOP JUMPDEST PUSH1 0x0 PUSH2 0x3E PUSH2 0xC7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD CALLDATASIZE PUSH1 0x0 DUP3 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL RETURNDATASIZE DUP1 PUSH1 0x0 DUP5 RETURNDATACOPY DUP2 DUP1 ISZERO PUSH2 0x61 JUMPI DUP2 DUP5 RETURN JUMPDEST DUP2 DUP5 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH2 0xC7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB7 PUSH2 0xB2 CALLDATASIZE PUSH1 0x4 PUSH2 0x791 JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x8E JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x152 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E756C6C20696D706C656D656E746174696F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x15C PUSH2 0xC7 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO PUSH2 0x508 JUMPI DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x1CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F7468696E6720746F207570677261646500 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5479D940 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x228 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x225 SWAP2 DUP2 ADD SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x287 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20756E61626C6520746F20636865636B20757067 PUSH1 0x44 DUP3 ADD MSTORE PUSH10 0x7261646162696C697479 PUSH1 0xB0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST DUP1 PUSH2 0x2D4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F742075706772616461626C650000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST POP PUSH1 0x40 MLOAD CALLER PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x44 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x35AC4B05 PUSH1 0xE1 SHL OR SWAP1 MSTORE MLOAD PUSH2 0x326 SWAP2 SWAP1 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x361 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 0x366 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x388 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP1 PUSH2 0x899 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x39C SWAP2 SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH2 0x3E8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A206E6F7420617574686F72697A65640000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x149 JUMP JUMPDEST DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x426 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 0x44A SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x52D1902D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x488 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 0x4AC SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST EQ PUSH2 0x505 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A2070726F786961626C655555494473206D69736D PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0xC2E8C6D PUSH1 0xE3 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x526 SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x439FAB91 PUSH1 0xE0 SHL OR SWAP1 MSTORE MLOAD PUSH2 0x55B SWAP2 SWAP1 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x596 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 0x59B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x635 JUMPI PUSH1 0x44 DUP2 MLOAD LT ISZERO PUSH2 0x602 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20696E697469616C697A6174696F6E206661696C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1959 PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x149 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SWAP1 POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x61C SWAP2 SWAP1 PUSH2 0x938 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5479D940 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x6F5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x6F2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x830 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x711 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x149 SWAP1 PUSH2 0x899 JUMP JUMPDEST SWAP4 POP PUSH2 0x71C SWAP3 POP POP POP JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x761 JUMPI PUSH2 0x761 PUSH2 0x722 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x722 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x7BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x7E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x7FB PUSH2 0x7F6 DUP3 PUSH2 0x769 JUMP JUMPDEST PUSH2 0x738 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP7 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x810 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP4 DUP4 ADD ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x852 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x874 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x85C JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x88F DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x859 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x27 SWAP1 DUP3 ADD MSTORE PUSH32 0x5769746E657450726F78793A20756E636F6D706C69616E7420696D706C656D65 PUSH1 0x40 DUP3 ADD MSTORE PUSH7 0x373A30BA34B7B7 PUSH1 0xC9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x911 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x859 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x852 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x94A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x972 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x980 PUSH2 0x7F6 DUP3 PUSH2 0x769 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x995 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A6 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x859 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NOT JUMPI LOG4 SELFBALANCE 0xCB PUSH3 0x58F9D8 DUP16 0xE3 0xEC CHAINID CALLDATASIZE JUMPI PUSH22 0xF9FB0D97CE1906F310FC696A92715C1764736F6C6343 STOP ADDMOD NOT STOP CALLER ","sourceMap":"259:5139:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;741:23;767:16;:14;:16::i;:::-;741:42;;1131:4;1125:11;1171:14;1168:1;1163:3;1150:36;1275:1;1272;1256:14;1251:3;1234:15;1227:5;1214:63;1303:16;1356:4;1353:1;1348:3;1333:28;1382:6;1406:119;;;;1668:4;1663:3;1656:17;1406:119;1500:4;1495:3;1488:17;1776:110;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;178:32:7;;;160:51;;148:2;133:18;1776:110:3;;;;;;;;2180:2793;;;;;;;;;;-1:-1:-1;2180:2793:3;;;;;:::i;:::-;;:::i;:::-;;;1840:14:7;;1833:22;1815:41;;1803:2;1788:18;2180:2793:3;1675:187:7;1776:110:3;5309:66;1850:28;-1:-1:-1;;;;;1850:28:3;;1776:110::o;2180:2793::-;2276:4;-1:-1:-1;;;;;2353:32:3;;2345:77;;;;-1:-1:-1;;;2345:77:3;;2069:2:7;2345:77:3;;;2051:21:7;;;2088:18;;;2081:30;2147:34;2127:18;;;2120:62;2199:18;;2345:77:3;;;;;;;;;2435:26;2464:16;:14;:16::i;:::-;2435:45;-1:-1:-1;;;;;;2495:32:3;;;2491:1298;;2647:18;-1:-1:-1;;;;;2625:40:3;:18;-1:-1:-1;;;;;2625:40:3;;2617:84;;;;-1:-1:-1;;;2617:84:3;;2430:2:7;2617:84:3;;;2412:21:7;2469:2;2449:18;;;2442:30;2508:33;2488:18;;;2481:61;2559:18;;2617:84:3;2228:355:7;2617:84:3;2817:18;-1:-1:-1;;;;;2805:44:3;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2805:46:3;;;;;;;;-1:-1:-1;;2805:46:3;;;;;;;;;;;;:::i;:::-;;;2801:262;;2995:52;;-1:-1:-1;;;2995:52:3;;3072:2:7;2995:52:3;;;3054:21:7;3111:2;3091:18;;;3084:30;3150:34;3130:18;;;3123:62;-1:-1:-1;;;3201:18:7;;;3194:40;3251:19;;2995:52:3;2870:406:7;2801:262:3;2908:13;2900:53;;;;-1:-1:-1;;;2900:53:3;;3483:2:7;2900:53:3;;;3465:21:7;3522:2;3502:18;;;3495:30;3561:29;3541:18;;;3534:57;3608:18;;2900:53:3;3281:351:7;2900:53:3;-1:-1:-1;3267:125:3;;3363:10;3267:125;;;160:51:7;3176:15:3;;;;-1:-1:-1;;;;;3217:31:3;;;133:18:7;;3267:125:3;;;-1:-1:-1;;3267:125:3;;;;;;;;;;;;;;-1:-1:-1;;;;;3267:125:3;-1:-1:-1;;;3267:125:3;;;3217:190;;;3267:125;3217:190;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3175:232;;;;3430:10;3422:62;;;;-1:-1:-1;;;3422:62:3;;;;;;;:::i;:::-;3518:7;3507:27;;;;;;;;;;;;:::i;:::-;3499:67;;;;-1:-1:-1;;;3499:67:3;;4794:2:7;3499:67:3;;;4776:21:7;4833:2;4813:18;;;4806:30;4872:29;4852:18;;;4845:57;4919:18;;3499:67:3;4592:351:7;3499:67:3;3670:18;-1:-1:-1;;;;;3658:45:3;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3619:18;-1:-1:-1;;;;;3607:45:3;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:98;3581:196;;;;-1:-1:-1;;;3581:196:3;;5339:2:7;3581:196:3;;;5321:21:7;5378:2;5358:18;;;5351:30;5417:34;5397:18;;;5390:62;-1:-1:-1;;;5468:18:7;;;5461:34;5512:19;;3581:196:3;5137:400:7;3581:196:3;2529:1260;;2491:1298;3874:20;3896:24;3924:18;-1:-1:-1;;;;;3924:31:3;4050:9;3970:104;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3970:104:3;;;;;;;;;;;;;;-1:-1:-1;;;;;3970:104:3;-1:-1:-1;;;3970:104:3;;;3924:161;;;3970:104;3924:161;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3873:212;;;;4101:15;4096:344;;4158:2;4137:11;:18;:23;4133:296;;;4181:44;;-1:-1:-1;;;4181:44:3;;6241:2:7;4181:44:3;;;6223:21:7;6280:2;6260:18;;;6253:30;6319:34;6299:18;;;6292:62;-1:-1:-1;;;6370:18:7;;;6363:32;6412:19;;4181:44:3;6039:398:7;4133:296:3;4330:4;4317:11;4313:22;4298:37;;4390:11;4379:33;;;;;;;;;;;;:::i;:::-;4372:41;;-1:-1:-1;;;4372:41:3;;;;;;;;:::i;4133:296::-;5309:66;4534:49;;-1:-1:-1;;;;;;4534:49:3;-1:-1:-1;;;;;4534:49:3;;;;;;;;4605:28;;;;-1:-1:-1;;4605:28:3;4762:18;-1:-1:-1;;;;;4750:44:3;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4750:46:3;;;;;;;;-1:-1:-1;;4750:46:3;;;;;;;;;;;;:::i;:::-;;;4746:220;;4904:50;;-1:-1:-1;;;4904:50:3;;;;;;;:::i;4746:220::-;4848:13;-1:-1:-1;4841:20:3;;-1:-1:-1;;;4841:20:3;2180:2793;;;;;:::o;222:127:7:-;283:10;278:3;274:20;271:1;264:31;314:4;311:1;304:15;338:4;335:1;328:15;354:275;425:2;419:9;490:2;471:13;;-1:-1:-1;;467:27:7;455:40;;525:18;510:34;;546:22;;;507:62;504:88;;;572:18;;:::i;:::-;608:2;601:22;354:275;;-1:-1:-1;354:275:7:o;634:186::-;682:4;715:18;707:6;704:30;701:56;;;737:18;;:::i;:::-;-1:-1:-1;803:2:7;782:15;-1:-1:-1;;778:29:7;809:4;774:40;;634:186::o;825:845::-;902:6;910;963:2;951:9;942:7;938:23;934:32;931:52;;;979:1;976;969:12;931:52;1005:23;;-1:-1:-1;;;;;1057:31:7;;1047:42;;1037:70;;1103:1;1100;1093:12;1037:70;1126:5;-1:-1:-1;1182:2:7;1167:18;;1154:32;1209:18;1198:30;;1195:50;;;1241:1;1238;1231:12;1195:50;1264:22;;1317:4;1309:13;;1305:27;-1:-1:-1;1295:55:7;;1346:1;1343;1336:12;1295:55;1382:2;1369:16;1407:48;1423:31;1451:2;1423:31;:::i;:::-;1407:48;:::i;:::-;1478:2;1471:5;1464:17;1518:7;1513:2;1508;1504;1500:11;1496:20;1493:33;1490:53;;;1539:1;1536;1529:12;1490:53;1594:2;1589;1585;1581:11;1576:2;1569:5;1565:14;1552:45;1638:1;1633:2;1628;1621:5;1617:14;1613:23;1606:34;1659:5;1649:15;;;;;825:845;;;;;:::o;2588:277::-;2655:6;2708:2;2696:9;2687:7;2683:23;2679:32;2676:52;;;2724:1;2721;2714:12;2676:52;2756:9;2750:16;2809:5;2802:13;2795:21;2788:5;2785:32;2775:60;;2831:1;2828;2821:12;2775:60;2854:5;2588:277;-1:-1:-1;;;2588:277:7:o;3637:250::-;3722:1;3732:113;3746:6;3743:1;3740:13;3732:113;;;3822:11;;;3816:18;3803:11;;;3796:39;3768:2;3761:10;3732:113;;;-1:-1:-1;;3879:1:7;3861:16;;3854:27;3637:250::o;3892:287::-;4021:3;4059:6;4053:13;4075:66;4134:6;4129:3;4122:4;4114:6;4110:17;4075:66;:::i;:::-;4157:16;;;;;3892:287;-1:-1:-1;;3892:287:7:o;4184:403::-;4386:2;4368:21;;;4425:2;4405:18;;;4398:30;4464:34;4459:2;4444:18;;4437:62;-1:-1:-1;;;4530:2:7;4515:18;;4508:37;4577:3;4562:19;;4184:403::o;4948:184::-;5018:6;5071:2;5059:9;5050:7;5046:23;5042:32;5039:52;;;5087:1;5084;5077:12;5039:52;-1:-1:-1;5110:16:7;;4948:184;-1:-1:-1;4948:184:7:o;5542:270::-;5583:3;5621:5;5615:12;5648:6;5643:3;5636:19;5664:76;5733:6;5726:4;5721:3;5717:14;5710:4;5703:5;5699:16;5664:76;:::i;:::-;5794:2;5773:15;-1:-1:-1;;5769:29:7;5760:39;;;;5801:4;5756:50;;5542:270;-1:-1:-1;;5542:270:7:o;5817:217::-;5964:2;5953:9;5946:21;5927:4;5984:44;6024:2;6013:9;6009:18;6001:6;5984:44;:::i;6442:648::-;6522:6;6575:2;6563:9;6554:7;6550:23;6546:32;6543:52;;;6591:1;6588;6581:12;6543:52;6624:9;6618:16;6657:18;6649:6;6646:30;6643:50;;;6689:1;6686;6679:12;6643:50;6712:22;;6765:4;6757:13;;6753:27;-1:-1:-1;6743:55:7;;6794:1;6791;6784:12;6743:55;6823:2;6817:9;6848:48;6864:31;6892:2;6864:31;:::i;6848:48::-;6919:2;6912:5;6905:17;6959:7;6954:2;6949;6945;6941:11;6937:20;6934:33;6931:53;;;6980:1;6977;6970:12;6931:53;6993:67;7057:2;7052;7045:5;7041:14;7036:2;7032;7028:11;6993:67;:::i;:::-;7079:5;6442:648;-1:-1:-1;;;;;6442:648:7:o"},"methodIdentifiers":{"implementation()":"5c60da1b","upgradeTo(address,bytes)":"6fbc15e9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"upgradeTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@witnet.io>\",\"kind\":\"dev\",\"methods\":{\"upgradeTo(address,bytes)\":{\"params\":{\"_initData\":\"Raw data with which new implementation will be initialized.\",\"_newImplementation\":\"New implementation address.\"},\"returns\":{\"_0\":\"Returns whether new implementation would be further upgradable, or not.\"}}},\"title\":\"WitnetProxy: upgradable delegate-proxy contract. \",\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address)\":{\"notice\":\"Event emitted every time the implementation gets updated.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).\"},\"implementation()\":{\"notice\":\"Returns proxy's current implementation address.\"},\"upgradeTo(address,bytes)\":{\"notice\":\"Upgrades the `implementation` address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project/contracts/core/WitnetProxy.sol\":\"WitnetProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"project/contracts/core/WitnetProxy.sol\":{\"keccak256\":\"0x6f0ec2c544192c9439bde88f5ed4efec5bdef506cb0dcb739c29329a798033fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca05338334632aab3aef3c17a4b8686251ec488da49b9fcd3712642e57e0ce2a\",\"dweb:/ipfs/QmZk1uDdytKFii4TXUnJkFBBB3CZVSPKKR85ugFjWUTufS\"]},\"project/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}"}},"project/contracts/patterns/Proxiable.sol":{"Proxiable":{"abi":[{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"proxiableUUID()":"52d1902d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradeable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project/contracts/patterns/Proxiable.sol\":\"Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"project/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]}},\"version\":1}"}},"project/contracts/patterns/Upgradeable.sol":{"Upgradeable":{"abi":[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"versionTag","type":"string"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","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":{"base()":"5001f3b5","codehash()":"a9e954b9","initialize(bytes)":"439fab91","isUpgradable()":"5479d940","isUpgradableFrom(address)":"6b58960a","proxiableUUID()":"52d1902d","version()":"54fd4d50"}},"metadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"baseAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"baseCodehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"versionTag\",\"type\":\"string\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"base\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpgradable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"isUpgradableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address,address,bytes32,string)\":{\"params\":{\"baseAddr\":\"The address of the new implementation contract.\",\"baseCodehash\":\"The EVM-codehash of the new implementation contract.\",\"from\":\"The address who ordered the upgrading. Namely, the WRB operator in \\\"trustable\\\" implementations.\",\"versionTag\":\"Ascii-encoded version literal with which the implementation deployer decided to tag it.\"}}},\"kind\":\"dev\",\"methods\":{\"base()\":{\"details\":\"Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern.\"},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"isUpgradableFrom(address)\":{\"details\":\"Tells whether provided address could eventually upgrade the contract.\"},\"proxiableUUID()\":{\"details\":\"Complying with EIP-1822: Universal Upgradeable Proxy Standard (UUPS)See https://eips.ethereum.org/EIPS/eip-1822.\"},\"version()\":{\"details\":\"Retrieves human-redable named version of current implementation.\"}},\"version\":1},\"userdoc\":{\"events\":{\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy. \"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project/contracts/patterns/Upgradeable.sol\":\"Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\"project/:@openzeppelin/contracts-upgradeable/=npm/@openzeppelin/contracts-upgradeable@5.4.0/\",\"project/:@openzeppelin/contracts/=npm/@openzeppelin/contracts@5.4.0/\"]},\"sources\":{\"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"project/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}"}}},"sources":{"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol":{"ast":{"absolutePath":"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol","exportedSymbols":{"Initializable":[267]},"id":268,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"113:24:0"},{"abstract":true,"baseContracts":[],"canonicalName":"Initializable","contractDependencies":[],"contractKind":"contract","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"139:2209:0","text":" @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```solidity\n contract MyToken is ERC20Upgradeable {\n function initialize() initializer public {\n __ERC20_init(\"MyToken\", \"MTK\");\n }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n function initializeV2() reinitializer(2) public {\n __ERC20Permit_init(\"MyToken\");\n }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n ```\n ===="},"fullyImplemented":true,"id":267,"linearizedBaseContracts":[267],"name":"Initializable","nameLocation":"2367:13:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Initializable.InitializableStorage","documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"2387:293:0","text":" @dev Storage of the initializable contract.\n It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n when using with upgradeable contracts.\n @custom:storage-location erc7201:openzeppelin.storage.Initializable"},"id":10,"members":[{"constant":false,"id":6,"mutability":"mutable","name":"_initialized","nameLocation":"2820:12:0","nodeType":"VariableDeclaration","scope":10,"src":"2813:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":5,"name":"uint64","nodeType":"ElementaryTypeName","src":"2813:6:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":9,"mutability":"mutable","name":"_initializing","nameLocation":"2955:13:0","nodeType":"VariableDeclaration","scope":10,"src":"2950:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8,"name":"bool","nodeType":"ElementaryTypeName","src":"2950:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"InitializableStorage","nameLocation":"2692:20:0","nodeType":"StructDefinition","scope":267,"src":"2685:290:0","visibility":"public"},{"constant":true,"id":13,"mutability":"constant","name":"INITIALIZABLE_STORAGE","nameLocation":"3123:21:0","nodeType":"VariableDeclaration","scope":267,"src":"3098:115:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3098:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307866306335376531363834306466303430663135303838646332663831666533393163333932336265633733653233613936363265666339633232396336613030","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3147:66:0","typeDescriptions":{"typeIdentifier":"t_rational_108904022758810753673719992590105913556127789646572562039383141376366747609600_by_1","typeString":"int_const 1089...(70 digits omitted)...9600"},"value":"0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"},"visibility":"private"},{"documentation":{"id":14,"nodeType":"StructuredDocumentation","src":"3220:60:0","text":" @dev The contract is already initialized."},"errorSelector":"f92ee8a9","id":16,"name":"InvalidInitialization","nameLocation":"3291:21:0","nodeType":"ErrorDefinition","parameters":{"id":15,"nodeType":"ParameterList","parameters":[],"src":"3312:2:0"},"src":"3285:30:0"},{"documentation":{"id":17,"nodeType":"StructuredDocumentation","src":"3321:57:0","text":" @dev The contract is not initializing."},"errorSelector":"d7e6bcf8","id":19,"name":"NotInitializing","nameLocation":"3389:15:0","nodeType":"ErrorDefinition","parameters":{"id":18,"nodeType":"ParameterList","parameters":[],"src":"3404:2:0"},"src":"3383:24:0"},{"anonymous":false,"documentation":{"id":20,"nodeType":"StructuredDocumentation","src":"3413:90:0","text":" @dev Triggered when the contract has been initialized or reinitialized."},"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","id":24,"name":"Initialized","nameLocation":"3514:11:0","nodeType":"EventDefinition","parameters":{"id":23,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"3533:7:0","nodeType":"VariableDeclaration","scope":24,"src":"3526:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":21,"name":"uint64","nodeType":"ElementaryTypeName","src":"3526:6:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3525:16:0"},"src":"3508:34:0"},{"body":{"id":106,"nodeType":"Block","src":"4092:1079:0","statements":[{"assignments":[29],"declarations":[{"constant":false,"id":29,"mutability":"mutable","name":"$","nameLocation":"4187:1:0","nodeType":"VariableDeclaration","scope":106,"src":"4158:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":28,"nodeType":"UserDefinedTypeName","pathNode":{"id":27,"name":"InitializableStorage","nameLocations":["4158:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":10,"src":"4158:20:0"},"referencedDeclaration":10,"src":"4158:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":32,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":30,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"4191:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$10_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":31,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4158:59:0"},{"assignments":[34],"declarations":[{"constant":false,"id":34,"mutability":"mutable","name":"isTopLevelCall","nameLocation":"4284:14:0","nodeType":"VariableDeclaration","scope":106,"src":"4279:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33,"name":"bool","nodeType":"ElementaryTypeName","src":"4279:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":38,"initialValue":{"id":37,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4301:16:0","subExpression":{"expression":{"id":35,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"4302:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":36,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4304:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"4302:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4279:38:0"},{"assignments":[40],"declarations":[{"constant":false,"id":40,"mutability":"mutable","name":"initialized","nameLocation":"4334:11:0","nodeType":"VariableDeclaration","scope":106,"src":"4327:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":39,"name":"uint64","nodeType":"ElementaryTypeName","src":"4327:6:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":43,"initialValue":{"expression":{"id":41,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"4348:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":42,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4350:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"4348:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"4327:35:0"},{"assignments":[45],"declarations":[{"constant":false,"id":45,"mutability":"mutable","name":"initialSetup","nameLocation":"4709:12:0","nodeType":"VariableDeclaration","scope":106,"src":"4704:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44,"name":"bool","nodeType":"ElementaryTypeName","src":"4704:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":51,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":48,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"4724:11:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4739:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4724:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":49,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"4744:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4724:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4704:54:0"},{"assignments":[53],"declarations":[{"constant":false,"id":53,"mutability":"mutable","name":"construction","nameLocation":"4773:12:0","nodeType":"VariableDeclaration","scope":106,"src":"4768:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52,"name":"bool","nodeType":"ElementaryTypeName","src":"4768:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":65,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":56,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"4788:11:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":55,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4803:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4788:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":59,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4816:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Initializable_$267","typeString":"contract Initializable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Initializable_$267","typeString":"contract Initializable"}],"id":58,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4808:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57,"name":"address","nodeType":"ElementaryTypeName","src":"4808:7:0","typeDescriptions":{}}},"id":60,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4822:4:0","memberName":"code","nodeType":"MemberAccess","src":"4808:18:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4827:6:0","memberName":"length","nodeType":"MemberAccess","src":"4808:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":63,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4837:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4808:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4788:50:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4768:70:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":71,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4853:13:0","subExpression":{"id":67,"name":"initialSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"4854:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":70,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4870:13:0","subExpression":{"id":69,"name":"construction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"4871:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4853:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76,"nodeType":"IfStatement","src":"4849:91:0","trueBody":{"id":75,"nodeType":"Block","src":"4885:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":72,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"4906:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":73,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4906:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74,"nodeType":"RevertStatement","src":"4899:30:0"}]}},{"expression":{"id":81,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"4949:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":79,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4951:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"4949:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":80,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4966:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4949:18:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":82,"nodeType":"ExpressionStatement","src":"4949:18:0"},{"condition":{"id":83,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"4981:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91,"nodeType":"IfStatement","src":"4977:67:0","trueBody":{"id":90,"nodeType":"Block","src":"4997:47:0","statements":[{"expression":{"id":88,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":84,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"5011:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":86,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5013:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"5011:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":87,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5029:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5011:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89,"nodeType":"ExpressionStatement","src":"5011:22:0"}]}},{"id":92,"nodeType":"PlaceholderStatement","src":"5053:1:0"},{"condition":{"id":93,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"5068:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105,"nodeType":"IfStatement","src":"5064:101:0","trueBody":{"id":104,"nodeType":"Block","src":"5084:81:0","statements":[{"expression":{"id":98,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":94,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"5098:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":96,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5100:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"5098:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":97,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5116:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5098:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":99,"nodeType":"ExpressionStatement","src":"5098:23:0"},{"eventCall":{"arguments":[{"hexValue":"31","id":101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":100,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"5140:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5140:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":103,"nodeType":"EmitStatement","src":"5135:19:0"}]}}]},"documentation":{"id":25,"nodeType":"StructuredDocumentation","src":"3548:516:0","text":" @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any\n number of times. This behavior in the constructor can be useful during testing and is not expected to be used in\n production.\n Emits an {Initialized} event."},"id":107,"name":"initializer","nameLocation":"4078:11:0","nodeType":"ModifierDefinition","parameters":{"id":26,"nodeType":"ParameterList","parameters":[],"src":"4089:2:0"},"src":"4069:1102:0","virtual":false,"visibility":"internal"},{"body":{"id":153,"nodeType":"Block","src":"6289:392:0","statements":[{"assignments":[114],"declarations":[{"constant":false,"id":114,"mutability":"mutable","name":"$","nameLocation":"6384:1:0","nodeType":"VariableDeclaration","scope":153,"src":"6355:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":113,"nodeType":"UserDefinedTypeName","pathNode":{"id":112,"name":"InitializableStorage","nameLocations":["6355:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":10,"src":"6355:20:0"},"referencedDeclaration":10,"src":"6355:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":117,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":115,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"6388:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$10_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6388:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6355:59:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":118,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"6429:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6431:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"6429:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":120,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"6448:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6450:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"6448:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":122,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"6466:7:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6448:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6429:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":129,"nodeType":"IfStatement","src":"6425:105:0","trueBody":{"id":128,"nodeType":"Block","src":"6475:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":125,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"6496:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6496:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127,"nodeType":"RevertStatement","src":"6489:30:0"}]}},{"expression":{"id":134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":130,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"6539:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6541:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"6539:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":133,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"6556:7:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6539:24:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":135,"nodeType":"ExpressionStatement","src":"6539:24:0"},{"expression":{"id":140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":136,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"6573:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6575:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"6573:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6591:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6573:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":141,"nodeType":"ExpressionStatement","src":"6573:22:0"},{"id":142,"nodeType":"PlaceholderStatement","src":"6605:1:0"},{"expression":{"id":147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":143,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"6616:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6618:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"6616:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6634:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6616:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":148,"nodeType":"ExpressionStatement","src":"6616:23:0"},{"eventCall":{"arguments":[{"id":150,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"6666:7:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":149,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"6654:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6654:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":152,"nodeType":"EmitStatement","src":"6649:25:0"}]},"documentation":{"id":108,"nodeType":"StructuredDocumentation","src":"5177:1068:0","text":" @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n used to initialize parent contracts.\n A reinitializer may be used after the original initialization step. This is essential to configure modules that\n are added through upgrades and that require initialization.\n When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n cannot be nested. If one is invoked in the context of another, execution will revert.\n Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n a contract, executing them in the right order is up to the developer or operator.\n WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n Emits an {Initialized} event."},"id":154,"name":"reinitializer","nameLocation":"6259:13:0","nodeType":"ModifierDefinition","parameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":110,"mutability":"mutable","name":"version","nameLocation":"6280:7:0","nodeType":"VariableDeclaration","scope":154,"src":"6273:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":109,"name":"uint64","nodeType":"ElementaryTypeName","src":"6273:6:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6272:16:0"},"src":"6250:431:0","virtual":false,"visibility":"internal"},{"body":{"id":161,"nodeType":"Block","src":"6919:48:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":157,"name":"_checkInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"6929:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6929:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":159,"nodeType":"ExpressionStatement","src":"6929:20:0"},{"id":160,"nodeType":"PlaceholderStatement","src":"6959:1:0"}]},"documentation":{"id":155,"nodeType":"StructuredDocumentation","src":"6687:199:0","text":" @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n {initializer} and {reinitializer} modifiers, directly or indirectly."},"id":162,"name":"onlyInitializing","nameLocation":"6900:16:0","nodeType":"ModifierDefinition","parameters":{"id":156,"nodeType":"ParameterList","parameters":[],"src":"6916:2:0"},"src":"6891:76:0","virtual":false,"visibility":"internal"},{"body":{"id":174,"nodeType":"Block","src":"7134:89:0","statements":[{"condition":{"id":168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7148:18:0","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":166,"name":"_isInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"7149:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7149:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":173,"nodeType":"IfStatement","src":"7144:73:0","trueBody":{"id":172,"nodeType":"Block","src":"7168:49:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":169,"name":"NotInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"7189:15:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7189:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171,"nodeType":"RevertStatement","src":"7182:24:0"}]}}]},"documentation":{"id":163,"nodeType":"StructuredDocumentation","src":"6973:104:0","text":" @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}."},"id":175,"implemented":true,"kind":"function","modifiers":[],"name":"_checkInitializing","nameLocation":"7091:18:0","nodeType":"FunctionDefinition","parameters":{"id":164,"nodeType":"ParameterList","parameters":[],"src":"7109:2:0"},"returnParameters":{"id":165,"nodeType":"ParameterList","parameters":[],"src":"7134:0:0"},"scope":267,"src":"7082:141:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":220,"nodeType":"Block","src":"7758:373:0","statements":[{"assignments":[181],"declarations":[{"constant":false,"id":181,"mutability":"mutable","name":"$","nameLocation":"7853:1:0","nodeType":"VariableDeclaration","scope":220,"src":"7824:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":180,"nodeType":"UserDefinedTypeName","pathNode":{"id":179,"name":"InitializableStorage","nameLocations":["7824:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":10,"src":"7824:20:0"},"referencedDeclaration":10,"src":"7824:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":184,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":182,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"7857:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$10_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7857:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7824:59:0"},{"condition":{"expression":{"id":185,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181,"src":"7898:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7900:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"7898:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":191,"nodeType":"IfStatement","src":"7894:76:0","trueBody":{"id":190,"nodeType":"Block","src":"7915:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":187,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"7936:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7936:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":189,"nodeType":"RevertStatement","src":"7929:30:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":192,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181,"src":"7983:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7985:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"7983:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8006:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":195,"name":"uint64","nodeType":"ElementaryTypeName","src":"8006:6:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":194,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8001:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8001:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8014:3:0","memberName":"max","nodeType":"MemberAccess","src":"8001:16:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7983:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":219,"nodeType":"IfStatement","src":"7979:146:0","trueBody":{"id":218,"nodeType":"Block","src":"8019:106:0","statements":[{"expression":{"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":200,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181,"src":"8033:1:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8035:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"8033:14:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8055:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":204,"name":"uint64","nodeType":"ElementaryTypeName","src":"8055:6:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":203,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8050:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8050:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8063:3:0","memberName":"max","nodeType":"MemberAccess","src":"8050:16:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"8033:33:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":209,"nodeType":"ExpressionStatement","src":"8033:33:0"},{"eventCall":{"arguments":[{"expression":{"arguments":[{"id":213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8102:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":212,"name":"uint64","nodeType":"ElementaryTypeName","src":"8102:6:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":211,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8097:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8097:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8110:3:0","memberName":"max","nodeType":"MemberAccess","src":"8097:16:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":210,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"8085:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8085:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":217,"nodeType":"EmitStatement","src":"8080:34:0"}]}}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"7229:475:0","text":" @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n through proxies.\n Emits an {Initialized} event the first time it is successfully executed."},"id":221,"implemented":true,"kind":"function","modifiers":[],"name":"_disableInitializers","nameLocation":"7718:20:0","nodeType":"FunctionDefinition","parameters":{"id":177,"nodeType":"ParameterList","parameters":[],"src":"7738:2:0"},"returnParameters":{"id":178,"nodeType":"ParameterList","parameters":[],"src":"7758:0:0"},"scope":267,"src":"7709:422:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":231,"nodeType":"Block","src":"8306:63:0","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":227,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"8323:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$10_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8323:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":229,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8350:12:0","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":6,"src":"8323:39:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":226,"id":230,"nodeType":"Return","src":"8316:46:0"}]},"documentation":{"id":222,"nodeType":"StructuredDocumentation","src":"8137:99:0","text":" @dev Returns the highest version that has been initialized. See {reinitializer}."},"id":232,"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializedVersion","nameLocation":"8250:22:0","nodeType":"FunctionDefinition","parameters":{"id":223,"nodeType":"ParameterList","parameters":[],"src":"8272:2:0"},"returnParameters":{"id":226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":232,"src":"8298:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":224,"name":"uint64","nodeType":"ElementaryTypeName","src":"8298:6:0","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"8297:8:0"},"scope":267,"src":"8241:128:0","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":242,"nodeType":"Block","src":"8541:64:0","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":238,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"8558:24:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$10_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8585:13:0","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":9,"src":"8558:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":237,"id":241,"nodeType":"Return","src":"8551:47:0"}]},"documentation":{"id":233,"nodeType":"StructuredDocumentation","src":"8375:105:0","text":" @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}."},"id":243,"implemented":true,"kind":"function","modifiers":[],"name":"_isInitializing","nameLocation":"8494:15:0","nodeType":"FunctionDefinition","parameters":{"id":234,"nodeType":"ParameterList","parameters":[],"src":"8509:2:0"},"returnParameters":{"id":237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":236,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":243,"src":"8535:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":235,"name":"bool","nodeType":"ElementaryTypeName","src":"8535:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8534:6:0"},"scope":267,"src":"8485:120:0","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":251,"nodeType":"Block","src":"8896:45:0","statements":[{"expression":{"id":249,"name":"INITIALIZABLE_STORAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"8913:21:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":248,"id":250,"nodeType":"Return","src":"8906:28:0"}]},"documentation":{"id":244,"nodeType":"StructuredDocumentation","src":"8611:203:0","text":" @dev Pointer to storage slot. Allows integrators to override it with a custom storage location.\n NOTE: Consider following the ERC-7201 formula to derive storage locations."},"id":252,"implemented":true,"kind":"function","modifiers":[],"name":"_initializableStorageSlot","nameLocation":"8828:25:0","nodeType":"FunctionDefinition","parameters":{"id":245,"nodeType":"ParameterList","parameters":[],"src":"8853:2:0"},"returnParameters":{"id":248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":252,"src":"8887:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8887:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8886:9:0"},"scope":267,"src":"8819:122:0","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":265,"nodeType":"Block","src":"9161:115:0","statements":[{"assignments":[260],"declarations":[{"constant":false,"id":260,"mutability":"mutable","name":"slot","nameLocation":"9179:4:0","nodeType":"VariableDeclaration","scope":265,"src":"9171:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9171:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":263,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":261,"name":"_initializableStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":252,"src":"9186:25:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9186:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9171:42:0"},{"AST":{"nativeSrc":"9232:38:0","nodeType":"YulBlock","src":"9232:38:0","statements":[{"nativeSrc":"9246:14:0","nodeType":"YulAssignment","src":"9246:14:0","value":{"name":"slot","nativeSrc":"9256:4:0","nodeType":"YulIdentifier","src":"9256:4:0"},"variableNames":[{"name":"$.slot","nativeSrc":"9246:6:0","nodeType":"YulIdentifier","src":"9246:6:0"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":257,"isOffset":false,"isSlot":true,"src":"9246:6:0","suffix":"slot","valueSize":1},{"declaration":260,"isOffset":false,"isSlot":false,"src":"9256:4:0","valueSize":1}],"id":264,"nodeType":"InlineAssembly","src":"9223:47:0"}]},"documentation":{"id":253,"nodeType":"StructuredDocumentation","src":"8947:67:0","text":" @dev Returns a pointer to the storage namespace."},"id":266,"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializableStorage","nameLocation":"9080:24:0","nodeType":"FunctionDefinition","parameters":{"id":254,"nodeType":"ParameterList","parameters":[],"src":"9104:2:0"},"returnParameters":{"id":258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":257,"mutability":"mutable","name":"$","nameLocation":"9158:1:0","nodeType":"VariableDeclaration","scope":266,"src":"9129:30:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":256,"nodeType":"UserDefinedTypeName","pathNode":{"id":255,"name":"InitializableStorage","nameLocations":["9129:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":10,"src":"9129:20:0"},"referencedDeclaration":10,"src":"9129:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$10_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"src":"9128:32:0"},"scope":267,"src":"9071:205:0","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":268,"src":"2349:6929:0","usedErrors":[16,19],"usedEvents":[24]}],"src":"113:9166:0"},"id":0},"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol":{"ast":{"absolutePath":"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol","exportedSymbols":{"ERC165":[291],"IERC165":[303]},"id":292,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":269,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"114:24:1"},{"absolutePath":"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":271,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":292,"sourceUnit":304,"src":"140:38:1","symbolAliases":[{"foreign":{"id":270,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"148:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":273,"name":"IERC165","nameLocations":["688:7:1"],"nodeType":"IdentifierPath","referencedDeclaration":303,"src":"688:7:1"},"id":274,"nodeType":"InheritanceSpecifier","src":"688:7:1"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":272,"nodeType":"StructuredDocumentation","src":"180:479:1","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC-165 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 ```"},"fullyImplemented":true,"id":291,"linearizedBaseContracts":[291,303],"name":"ERC165","nameLocation":"678:6:1","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[302],"body":{"id":289,"nodeType":"Block","src":"812:64:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":282,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"829:11:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":284,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"849:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$303_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$303_$","typeString":"type(contract IERC165)"}],"id":283,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"844:4:1","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"844:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$303","typeString":"type(contract IERC165)"}},"id":286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"858:11:1","memberName":"interfaceId","nodeType":"MemberAccess","src":"844:25:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"829:40:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":281,"id":288,"nodeType":"Return","src":"822:47:1"}]},"documentation":{"id":275,"nodeType":"StructuredDocumentation","src":"702:23:1","text":"@inheritdoc IERC165"},"functionSelector":"01ffc9a7","id":290,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"739:17:1","nodeType":"FunctionDefinition","parameters":{"id":278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":277,"mutability":"mutable","name":"interfaceId","nameLocation":"764:11:1","nodeType":"VariableDeclaration","scope":290,"src":"757:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":276,"name":"bytes4","nodeType":"ElementaryTypeName","src":"757:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"756:20:1"},"returnParameters":{"id":281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":290,"src":"806:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":279,"name":"bool","nodeType":"ElementaryTypeName","src":"806:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"805:6:1"},"scope":291,"src":"730:146:1","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":292,"src":"660:218:1","usedErrors":[],"usedEvents":[]}],"src":"114:765:1"},"id":1},"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"npm/@openzeppelin/contracts@5.4.0/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[303]},"id":304,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":293,"literals":["solidity",">=","0.4",".16"],"nodeType":"PragmaDirective","src":"115:25:2"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":294,"nodeType":"StructuredDocumentation","src":"142:280:2","text":" @dev Interface of the ERC-165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[ERC].\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":303,"linearizedBaseContracts":[303],"name":"IERC165","nameLocation":"433:7:2","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":295,"nodeType":"StructuredDocumentation","src":"447:340:2","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[ERC 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":302,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"801:17:2","nodeType":"FunctionDefinition","parameters":{"id":298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":297,"mutability":"mutable","name":"interfaceId","nameLocation":"826:11:2","nodeType":"VariableDeclaration","scope":302,"src":"819:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":296,"name":"bytes4","nodeType":"ElementaryTypeName","src":"819:6:2","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"818:20:2"},"returnParameters":{"id":301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":302,"src":"862:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":299,"name":"bool","nodeType":"ElementaryTypeName","src":"862:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"861:6:2"},"scope":303,"src":"792:76:2","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":304,"src":"423:447:2","usedErrors":[],"usedEvents":[]}],"src":"115:756:2"},"id":2},"project/contracts/core/WitnetProxy.sol":{"ast":{"absolutePath":"project/contracts/core/WitnetProxy.sol","exportedSymbols":{"ERC165":[291],"IERC165":[303],"Initializable":[267],"Proxiable":[577],"Upgradeable":[694],"WitnetProxy":[530]},"id":531,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":305,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"35:31:3"},{"id":306,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"68:33:3"},{"absolutePath":"project/contracts/patterns/Upgradeable.sol","file":"../patterns/Upgradeable.sol","id":307,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":531,"sourceUnit":695,"src":"105:37:3","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"WitnetProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":308,"nodeType":"StructuredDocumentation","src":"146:113:3","text":"@title WitnetProxy: upgradable delegate-proxy contract. \n @author Guillermo Díaz <guillermo@witnet.io>"},"fullyImplemented":true,"id":530,"linearizedBaseContracts":[530],"name":"WitnetProxy","nameLocation":"268:11:3","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":309,"nodeType":"StructuredDocumentation","src":"289:61:3","text":"Event emitted every time the implementation gets updated."},"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","id":313,"name":"Upgraded","nameLocation":"362:8:3","nodeType":"EventDefinition","parameters":{"id":312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":311,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"387:14:3","nodeType":"VariableDeclaration","scope":313,"src":"371:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":310,"name":"address","nodeType":"ElementaryTypeName","src":"371:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"370:32:3"},"src":"356:47:3"},{"body":{"id":317,"nodeType":"Block","src":"530:2:3","statements":[]},"documentation":{"id":314,"nodeType":"StructuredDocumentation","src":"413:96:3","text":"Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470)."},"id":318,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":315,"nodeType":"ParameterList","parameters":[],"src":"527:2:3"},"returnParameters":{"id":316,"nodeType":"ParameterList","parameters":[],"src":"530:0:3"},"scope":530,"src":"515:17:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":321,"nodeType":"Block","src":"575:2:3","statements":[]},"id":322,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"547:2:3"},"returnParameters":{"id":320,"nodeType":"ParameterList","parameters":[],"src":"575:0:3"},"scope":530,"src":"540:37:3","stateMutability":"payable","virtual":true,"visibility":"external"},{"body":{"id":332,"nodeType":"Block","src":"688:1023:3","statements":[{"assignments":[327],"declarations":[{"constant":false,"id":327,"mutability":"mutable","name":"_implementation","nameLocation":"749:15:3","nodeType":"VariableDeclaration","scope":332,"src":"741:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":326,"name":"address","nodeType":"ElementaryTypeName","src":"741:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":330,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":328,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"767:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"767:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"741:42:3"},{"AST":{"nativeSrc":"803:901:3","nodeType":"YulBlock","src":"803:901:3","statements":[{"nativeSrc":"1114:22:3","nodeType":"YulVariableDeclaration","src":"1114:22:3","value":{"arguments":[{"kind":"number","nativeSrc":"1131:4:3","nodeType":"YulLiteral","src":"1131:4:3","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"1125:5:3","nodeType":"YulIdentifier","src":"1125:5:3"},"nativeSrc":"1125:11:3","nodeType":"YulFunctionCall","src":"1125:11:3"},"variables":[{"name":"ptr","nativeSrc":"1118:3:3","nodeType":"YulTypedName","src":"1118:3:3","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1163:3:3","nodeType":"YulIdentifier","src":"1163:3:3"},{"kind":"number","nativeSrc":"1168:1:3","nodeType":"YulLiteral","src":"1168:1:3","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1171:12:3","nodeType":"YulIdentifier","src":"1171:12:3"},"nativeSrc":"1171:14:3","nodeType":"YulFunctionCall","src":"1171:14:3"}],"functionName":{"name":"calldatacopy","nativeSrc":"1150:12:3","nodeType":"YulIdentifier","src":"1150:12:3"},"nativeSrc":"1150:36:3","nodeType":"YulFunctionCall","src":"1150:36:3"},"nativeSrc":"1150:36:3","nodeType":"YulExpressionStatement","src":"1150:36:3"},{"nativeSrc":"1200:77:3","nodeType":"YulVariableDeclaration","src":"1200:77:3","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1227:3:3","nodeType":"YulIdentifier","src":"1227:3:3"},"nativeSrc":"1227:5:3","nodeType":"YulFunctionCall","src":"1227:5:3"},{"name":"_implementation","nativeSrc":"1234:15:3","nodeType":"YulIdentifier","src":"1234:15:3"},{"name":"ptr","nativeSrc":"1251:3:3","nodeType":"YulIdentifier","src":"1251:3:3"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1256:12:3","nodeType":"YulIdentifier","src":"1256:12:3"},"nativeSrc":"1256:14:3","nodeType":"YulFunctionCall","src":"1256:14:3"},{"kind":"number","nativeSrc":"1272:1:3","nodeType":"YulLiteral","src":"1272:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"1275:1:3","nodeType":"YulLiteral","src":"1275:1:3","type":"","value":"0"}],"functionName":{"name":"delegatecall","nativeSrc":"1214:12:3","nodeType":"YulIdentifier","src":"1214:12:3"},"nativeSrc":"1214:63:3","nodeType":"YulFunctionCall","src":"1214:63:3"},"variables":[{"name":"result","nativeSrc":"1204:6:3","nodeType":"YulTypedName","src":"1204:6:3","type":""}]},{"nativeSrc":"1291:28:3","nodeType":"YulVariableDeclaration","src":"1291:28:3","value":{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1303:14:3","nodeType":"YulIdentifier","src":"1303:14:3"},"nativeSrc":"1303:16:3","nodeType":"YulFunctionCall","src":"1303:16:3"},"variables":[{"name":"size","nativeSrc":"1295:4:3","nodeType":"YulTypedName","src":"1295:4:3","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1348:3:3","nodeType":"YulIdentifier","src":"1348:3:3"},{"kind":"number","nativeSrc":"1353:1:3","nodeType":"YulLiteral","src":"1353:1:3","type":"","value":"0"},{"name":"size","nativeSrc":"1356:4:3","nodeType":"YulIdentifier","src":"1356:4:3"}],"functionName":{"name":"returndatacopy","nativeSrc":"1333:14:3","nodeType":"YulIdentifier","src":"1333:14:3"},"nativeSrc":"1333:28:3","nodeType":"YulFunctionCall","src":"1333:28:3"},"nativeSrc":"1333:28:3","nodeType":"YulExpressionStatement","src":"1333:28:3"},{"cases":[{"body":{"nativeSrc":"1414:111:3","nodeType":"YulBlock","src":"1414:111:3","statements":[{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1495:3:3","nodeType":"YulIdentifier","src":"1495:3:3"},{"name":"size","nativeSrc":"1500:4:3","nodeType":"YulIdentifier","src":"1500:4:3"}],"functionName":{"name":"revert","nativeSrc":"1488:6:3","nodeType":"YulIdentifier","src":"1488:6:3"},"nativeSrc":"1488:17:3","nodeType":"YulFunctionCall","src":"1488:17:3"},"nativeSrc":"1488:17:3","nodeType":"YulExpressionStatement","src":"1488:17:3"}]},"nativeSrc":"1406:119:3","nodeType":"YulCase","src":"1406:119:3","value":{"kind":"number","nativeSrc":"1411:1:3","nodeType":"YulLiteral","src":"1411:1:3","type":"","value":"0"}},{"body":{"nativeSrc":"1551:142:3","nodeType":"YulBlock","src":"1551:142:3","statements":[{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1663:3:3","nodeType":"YulIdentifier","src":"1663:3:3"},{"name":"size","nativeSrc":"1668:4:3","nodeType":"YulIdentifier","src":"1668:4:3"}],"functionName":{"name":"return","nativeSrc":"1656:6:3","nodeType":"YulIdentifier","src":"1656:6:3"},"nativeSrc":"1656:17:3","nodeType":"YulFunctionCall","src":"1656:17:3"},"nativeSrc":"1656:17:3","nodeType":"YulExpressionStatement","src":"1656:17:3"}]},"nativeSrc":"1543:150:3","nodeType":"YulCase","src":"1543:150:3","value":"default"}],"expression":{"name":"result","nativeSrc":"1382:6:3","nodeType":"YulIdentifier","src":"1382:6:3"},"nativeSrc":"1375:318:3","nodeType":"YulSwitch","src":"1375:318:3"}]},"evmVersion":"paris","externalReferences":[{"declaration":327,"isOffset":false,"isSlot":false,"src":"1234:15:3","valueSize":1}],"id":331,"nodeType":"InlineAssembly","src":"794:910:3"}]},"documentation":{"id":323,"nodeType":"StructuredDocumentation","src":"585:69:3","text":"Payable fallback accepts delegating calls to payable functions. "},"id":333,"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":324,"nodeType":"ParameterList","parameters":[],"src":"668:2:3"},"returnParameters":{"id":325,"nodeType":"ParameterList","parameters":[],"src":"688:0:3"},"scope":530,"src":"660:1051:3","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":343,"nodeType":"Block","src":"1832:54:3","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":339,"name":"__proxySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":529,"src":"1850:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$548_storage_ptr_$","typeString":"function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1850:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot storage pointer"}},"id":341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1864:14:3","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":543,"src":"1850:28:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":338,"id":342,"nodeType":"Return","src":"1843:35:3"}]},"documentation":{"id":334,"nodeType":"StructuredDocumentation","src":"1719:51:3","text":"Returns proxy's current implementation address."},"functionSelector":"5c60da1b","id":344,"implemented":true,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"1785:14:3","nodeType":"FunctionDefinition","parameters":{"id":335,"nodeType":"ParameterList","parameters":[],"src":"1799:2:3"},"returnParameters":{"id":338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":344,"src":"1823:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:9:3"},"scope":530,"src":"1776:110:3","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":519,"nodeType":"Block","src":"2287:2686:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":355,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"2353:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2383:1:3","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":357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2375:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":356,"name":"address","nodeType":"ElementaryTypeName","src":"2375:7:3","typeDescriptions":{}}},"id":359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2375:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2353:32:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e","id":361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2387:34:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","typeString":"literal_string \"WitnetProxy: null implementation\""},"value":"WitnetProxy: null implementation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d599eaa5e68d91d75c142446490ab9a15fd0284a41ce949219b5b4d8f267239a","typeString":"literal_string \"WitnetProxy: null implementation\""}],"id":354,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2345:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2345:77:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":363,"nodeType":"ExpressionStatement","src":"2345:77:3"},{"assignments":[365],"declarations":[{"constant":false,"id":365,"mutability":"mutable","name":"_oldImplementation","nameLocation":"2443:18:3","nodeType":"VariableDeclaration","scope":519,"src":"2435:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"2435:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":368,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":366,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"2464:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2464:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2435:45:3"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":369,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"2495:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2525:1:3","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":371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2517:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":370,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:3","typeDescriptions":{}}},"id":373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2517:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2495:32:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":450,"nodeType":"IfStatement","src":"2491:1298:3","trueBody":{"id":449,"nodeType":"Block","src":"2529:1260:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":376,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"2625:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":377,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"2647:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2625:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f7468696e6720746f2075706772616465","id":379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2667:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","typeString":"literal_string \"WitnetProxy: nothing to upgrade\""},"value":"WitnetProxy: nothing to upgrade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e332eab1bae45430d1201a30c0d80d8fcb5570f9e70201a9eb7b229e17fd2084","typeString":"literal_string \"WitnetProxy: nothing to upgrade\""}],"id":375,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2617:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2617:84:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":381,"nodeType":"ExpressionStatement","src":"2617:84:3"},{"clauses":[{"block":{"id":395,"nodeType":"Block","src":"2881:88:3","statements":[{"expression":{"arguments":[{"id":391,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"2908:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f742075706772616461626c65","id":392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2923:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","typeString":"literal_string \"WitnetProxy: not upgradable\""},"value":"WitnetProxy: not upgradable"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d96132834a96bae5cb2f32cb07f13985dcde0f2358055c198eb3065af6c5aa7f","typeString":"literal_string \"WitnetProxy: not upgradable\""}],"id":390,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2900:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2900:53:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":394,"nodeType":"ExpressionStatement","src":"2900:53:3"}]},"errorName":"","id":396,"nodeType":"TryCatchClause","parameters":{"id":389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":388,"mutability":"mutable","name":"_isUpgradable","nameLocation":"2866:13:3","nodeType":"VariableDeclaration","scope":396,"src":"2861:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":387,"name":"bool","nodeType":"ElementaryTypeName","src":"2861:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2860:20:3"},"src":"2852:117:3"},{"block":{"id":401,"nodeType":"Block","src":"2976:87:3","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a20756e61626c6520746f20636865636b207570677261646162696c697479","id":398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3002:44:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","typeString":"literal_string \"WitnetProxy: unable to check upgradability\""},"value":"WitnetProxy: unable to check upgradability"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f859058ad3ee4e192700ff813ed67dc892a0c7de91510ee584a0ac25fc982fc","typeString":"literal_string \"WitnetProxy: unable to check upgradability\""}],"id":397,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2995:6:3","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2995:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":400,"nodeType":"ExpressionStatement","src":"2995:52:3"}]},"errorName":"","id":402,"nodeType":"TryCatchClause","src":"2970:93:3"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":383,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"2817:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":382,"name":"Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"2805:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradeable_$694_$","typeString":"type(contract Upgradeable)"}},"id":384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2837:12:3","memberName":"isUpgradable","nodeType":"MemberAccess","referencedDeclaration":668,"src":"2805:44:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2805:46:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":403,"nodeType":"TryStatement","src":"2801:262:3"},{"assignments":[405,407],"declarations":[{"constant":false,"id":405,"mutability":"mutable","name":"_wasCalled","nameLocation":"3181:10:3","nodeType":"VariableDeclaration","scope":449,"src":"3176:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":404,"name":"bool","nodeType":"ElementaryTypeName","src":"3176:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":407,"mutability":"mutable","name":"_result","nameLocation":"3206:7:3","nodeType":"VariableDeclaration","scope":449,"src":"3193:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":406,"name":"bytes","nodeType":"ElementaryTypeName","src":"3193:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":417,"initialValue":{"arguments":[{"arguments":[{"hexValue":"697355706772616461626c6546726f6d286164647265737329","id":412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3313:27:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b58960af5008b519145bb1cb07a67ee0927d8e642573c92f5babc4d0c2721d7","typeString":"literal_string \"isUpgradableFrom(address)\""},"value":"isUpgradableFrom(address)"},{"expression":{"id":413,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3363:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3367:6:3","memberName":"sender","nodeType":"MemberAccess","src":"3363:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b58960af5008b519145bb1cb07a67ee0927d8e642573c92f5babc4d0c2721d7","typeString":"literal_string \"isUpgradableFrom(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3267:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3271:19:3","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3267:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3267:125:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":408,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"3217:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3236:12:3","memberName":"delegatecall","nodeType":"MemberAccess","src":"3217:31:3","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":416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3217:190:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3175:232:3"},{"expression":{"arguments":[{"id":419,"name":"_wasCalled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"3430:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a20756e636f6d706c69616e7420696d706c656d656e746174696f6e","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3442:41:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4","typeString":"literal_string \"WitnetProxy: uncompliant implementation\""},"value":"WitnetProxy: uncompliant implementation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4","typeString":"literal_string \"WitnetProxy: uncompliant implementation\""}],"id":418,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3422:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3422:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":422,"nodeType":"ExpressionStatement","src":"3422:62:3"},{"expression":{"arguments":[{"arguments":[{"id":426,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"3518:7:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3528:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":427,"name":"bool","nodeType":"ElementaryTypeName","src":"3528:4:3","typeDescriptions":{}}}],"id":429,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3527:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":424,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3507:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3511:6:3","memberName":"decode","nodeType":"MemberAccess","src":"3507:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3507:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a206e6f7420617574686f72697a6564","id":431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3536:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","typeString":"literal_string \"WitnetProxy: not authorized\""},"value":"WitnetProxy: not authorized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba8d4d661ce88eb2915ba133e6cad533938b754d7b66d8253879ef2c2193ecb2","typeString":"literal_string \"WitnetProxy: not authorized\""}],"id":423,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3499:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3499:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":433,"nodeType":"ExpressionStatement","src":"3499:67:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":436,"name":"_oldImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"3619:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":435,"name":"Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"3607:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradeable_$694_$","typeString":"type(contract Upgradeable)"}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3607:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3639:13:3","memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":541,"src":"3607:45:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3607:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":441,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"3670:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":440,"name":"Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"3658:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradeable_$694_$","typeString":"type(contract Upgradeable)"}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3658:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3690:13:3","memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":541,"src":"3658:45:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3658:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3607:98:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5769746e657450726f78793a2070726f786961626c655555494473206d69736d61746368","id":446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3724:38:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","typeString":"literal_string \"WitnetProxy: proxiableUUIDs mismatch\""},"value":"WitnetProxy: proxiableUUIDs mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f3c1ad1fa1688d47e62cc4dd5b4be101315ef47e38e05aa3a37a4ef2e1cec0a8","typeString":"literal_string \"WitnetProxy: proxiableUUIDs mismatch\""}],"id":434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3581:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3581:196:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":448,"nodeType":"ExpressionStatement","src":"3581:196:3"}]}},{"assignments":[452,454],"declarations":[{"constant":false,"id":452,"mutability":"mutable","name":"_wasInitialized","nameLocation":"3879:15:3","nodeType":"VariableDeclaration","scope":519,"src":"3874:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":451,"name":"bool","nodeType":"ElementaryTypeName","src":"3874:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":454,"mutability":"mutable","name":"_returnData","nameLocation":"3909:11:3","nodeType":"VariableDeclaration","scope":519,"src":"3896:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":453,"name":"bytes","nodeType":"ElementaryTypeName","src":"3896:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":463,"initialValue":{"arguments":[{"arguments":[{"hexValue":"696e697469616c697a6528627974657329","id":459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4012:19:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_439fab91f8ccf5be59586b9cf7bb7786c67a661a95ce1cfc146c1ed62922ae26","typeString":"literal_string \"initialize(bytes)\""},"value":"initialize(bytes)"},{"id":460,"name":"_initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"4050:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439fab91f8ccf5be59586b9cf7bb7786c67a661a95ce1cfc146c1ed62922ae26","typeString":"literal_string \"initialize(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":457,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3970:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3974:19:3","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3970:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":455,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"3924:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3943:12:3","memberName":"delegatecall","nodeType":"MemberAccess","src":"3924:31:3","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":462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3924:161:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3873:212:3"},{"condition":{"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4100:16:3","subExpression":{"id":464,"name":"_wasInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"4101:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":489,"nodeType":"IfStatement","src":"4096:344:3","trueBody":{"id":488,"nodeType":"Block","src":"4118:322:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":466,"name":"_returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"4137:11:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4149:6:3","memberName":"length","nodeType":"MemberAccess","src":"4137:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3638","id":468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4158:2:3","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"src":"4137:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":486,"nodeType":"Block","src":"4247:182:3","statements":[{"AST":{"nativeSrc":"4275:79:3","nodeType":"YulBlock","src":"4275:79:3","statements":[{"nativeSrc":"4298:37:3","nodeType":"YulAssignment","src":"4298:37:3","value":{"arguments":[{"name":"_returnData","nativeSrc":"4317:11:3","nodeType":"YulIdentifier","src":"4317:11:3"},{"kind":"number","nativeSrc":"4330:4:3","nodeType":"YulLiteral","src":"4330:4:3","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"4313:3:3","nodeType":"YulIdentifier","src":"4313:3:3"},"nativeSrc":"4313:22:3","nodeType":"YulFunctionCall","src":"4313:22:3"},"variableNames":[{"name":"_returnData","nativeSrc":"4298:11:3","nodeType":"YulIdentifier","src":"4298:11:3"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":454,"isOffset":false,"isSlot":false,"src":"4298:11:3","valueSize":1},{"declaration":454,"isOffset":false,"isSlot":false,"src":"4317:11:3","valueSize":1}],"id":475,"nodeType":"InlineAssembly","src":"4266:88:3"},{"expression":{"arguments":[{"arguments":[{"id":479,"name":"_returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"4390:11:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4404:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":480,"name":"string","nodeType":"ElementaryTypeName","src":"4404:6:3","typeDescriptions":{}}}],"id":482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4403:8:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":477,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4379:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4383:6:3","memberName":"decode","nodeType":"MemberAccess","src":"4379:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4379:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":476,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4372:6:3","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":485,"nodeType":"ExpressionStatement","src":"4372:41:3"}]},"id":487,"nodeType":"IfStatement","src":"4133:296:3","trueBody":{"id":474,"nodeType":"Block","src":"4162:79:3","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a20696e697469616c697a6174696f6e206661696c6564","id":471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4188:36:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a3a4ea76e2e68e14fc5328c93896fc2e23cf33c9f37d13d21f0003bedc2d604","typeString":"literal_string \"WitnetProxy: initialization failed\""},"value":"WitnetProxy: initialization failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1a3a4ea76e2e68e14fc5328c93896fc2e23cf33c9f37d13d21f0003bedc2d604","typeString":"literal_string \"WitnetProxy: initialization failed\""}],"id":470,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4181:6:3","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4181:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"4181:44:3"}]}}]}},{"expression":{"id":494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":490,"name":"__proxySlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":529,"src":"4534:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$548_storage_ptr_$","typeString":"function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"}},"id":491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot storage pointer"}},"id":492,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4548:14:3","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":543,"src":"4534:28:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":493,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4565:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4534:49:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":495,"nodeType":"ExpressionStatement","src":"4534:49:3"},{"eventCall":{"arguments":[{"id":497,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4614:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":496,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":313,"src":"4605:8:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4605:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":499,"nodeType":"EmitStatement","src":"4600:33:3"},{"clauses":[{"block":{"id":510,"nodeType":"Block","src":"4826:47:3","statements":[{"expression":{"id":508,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":506,"src":"4848:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":353,"id":509,"nodeType":"Return","src":"4841:20:3"}]},"errorName":"","id":511,"nodeType":"TryCatchClause","parameters":{"id":507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":506,"mutability":"mutable","name":"_isUpgradable","nameLocation":"4811:13:3","nodeType":"VariableDeclaration","scope":511,"src":"4806:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":505,"name":"bool","nodeType":"ElementaryTypeName","src":"4806:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4805:20:3"},"src":"4797:76:3"},{"block":{"id":516,"nodeType":"Block","src":"4889:77:3","statements":[{"expression":{"arguments":[{"hexValue":"5769746e657450726f78793a20756e636f6d706c69616e7420696d706c656d656e746174696f6e","id":513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4912:41:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4","typeString":"literal_string \"WitnetProxy: uncompliant implementation\""},"value":"WitnetProxy: uncompliant implementation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_af0aea8d1824a1e38021567a37dc01337985e80f2aafd4c71622592f865dd0f4","typeString":"literal_string \"WitnetProxy: uncompliant implementation\""}],"id":512,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4904:6:3","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4904:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":515,"nodeType":"ExpressionStatement","src":"4904:50:3"}]},"errorName":"","id":517,"nodeType":"TryCatchClause","src":"4883:83:3"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":501,"name":"_newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4762:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":500,"name":"Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"4750:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgradeable_$694_$","typeString":"type(contract Upgradeable)"}},"id":502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4750:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4782:12:3","memberName":"isUpgradable","nodeType":"MemberAccess","referencedDeclaration":668,"src":"4750:44:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4750:46:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":518,"nodeType":"TryStatement","src":"4746:220:3"}]},"documentation":{"id":345,"nodeType":"StructuredDocumentation","src":"1894:280:3","text":"Upgrades the `implementation` address.\n @param _newImplementation New implementation address.\n @param _initData Raw data with which new implementation will be initialized.\n @return Returns whether new implementation would be further upgradable, or not."},"functionSelector":"6fbc15e9","id":520,"implemented":true,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"2189:9:3","nodeType":"FunctionDefinition","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":347,"mutability":"mutable","name":"_newImplementation","nameLocation":"2207:18:3","nodeType":"VariableDeclaration","scope":520,"src":"2199:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":346,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":349,"mutability":"mutable","name":"_initData","nameLocation":"2240:9:3","nodeType":"VariableDeclaration","scope":520,"src":"2227:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":348,"name":"bytes","nodeType":"ElementaryTypeName","src":"2227:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2198:52:3"},"returnParameters":{"id":353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":520,"src":"2276:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":351,"name":"bool","nodeType":"ElementaryTypeName","src":"2276:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2275:6:3"},"scope":530,"src":"2180:2793:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":528,"nodeType":"Block","src":"5180:213:3","statements":[{"AST":{"nativeSrc":"5200:186:3","nodeType":"YulBlock","src":"5200:186:3","statements":[{"nativeSrc":"5295:80:3","nodeType":"YulAssignment","src":"5295:80:3","value":{"kind":"number","nativeSrc":"5309:66:3","nodeType":"YulLiteral","src":"5309:66:3","type":"","value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"variableNames":[{"name":"_slot.slot","nativeSrc":"5295:10:3","nodeType":"YulIdentifier","src":"5295:10:3"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":525,"isOffset":false,"isSlot":true,"src":"5295:10:3","suffix":"slot","valueSize":1}],"id":527,"nodeType":"InlineAssembly","src":"5191:195:3"}]},"documentation":{"id":521,"nodeType":"StructuredDocumentation","src":"4981:109:3","text":"@dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address."},"id":529,"implemented":true,"kind":"function","modifiers":[],"name":"__proxySlot","nameLocation":"5105:11:3","nodeType":"FunctionDefinition","parameters":{"id":522,"nodeType":"ParameterList","parameters":[],"src":"5116:2:3"},"returnParameters":{"id":526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":525,"mutability":"mutable","name":"_slot","nameLocation":"5173:5:3","nodeType":"VariableDeclaration","scope":529,"src":"5141:37:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot"},"typeName":{"id":524,"nodeType":"UserDefinedTypeName","pathNode":{"id":523,"name":"Proxiable.ProxiableSlot","nameLocations":["5141:9:3","5151:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":548,"src":"5141:23:3"},"referencedDeclaration":548,"src":"5141:23:3","typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot"}},"visibility":"internal"}],"src":"5140:39:3"},"scope":530,"src":"5096:297:3","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":531,"src":"259:5139:3","usedErrors":[],"usedEvents":[313]}],"src":"35:5365:3"},"id":3},"project/contracts/patterns/Initializable.sol":{"ast":{"absolutePath":"project/contracts/patterns/Initializable.sol","exportedSymbols":{"Initializable":[267]},"id":534,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":532,"literals":["solidity",">=","0.8",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"33:31:4"},{"absolutePath":"npm/@openzeppelin/contracts-upgradeable@5.4.0/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","id":533,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":534,"sourceUnit":268,"src":"66:75:4","symbolAliases":[],"unitAlias":""}],"src":"33:108:4"},"id":4},"project/contracts/patterns/Proxiable.sol":{"ast":{"absolutePath":"project/contracts/patterns/Proxiable.sol","exportedSymbols":{"Proxiable":[577]},"id":578,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":535,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"35:31:5"},{"abstract":true,"baseContracts":[],"canonicalName":"Proxiable","contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":577,"linearizedBaseContracts":[577],"name":"Proxiable","nameLocation":"88:9:5","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":536,"nodeType":"StructuredDocumentation","src":"105:136:5","text":"@dev Complying with EIP-1822: Universal Upgradeable Proxy Standard (UUPS)\n @dev See https://eips.ethereum.org/EIPS/eip-1822."},"functionSelector":"52d1902d","id":541,"implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"256:13:5","nodeType":"FunctionDefinition","parameters":{"id":537,"nodeType":"ParameterList","parameters":[],"src":"269:2:5"},"returnParameters":{"id":540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":541,"src":"303:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"302:9:5"},"scope":577,"src":"247:65:5","stateMutability":"view","virtual":true,"visibility":"external"},{"canonicalName":"Proxiable.ProxiableSlot","id":548,"members":[{"constant":false,"id":543,"mutability":"mutable","name":"implementation","nameLocation":"360:14:5","nodeType":"VariableDeclaration","scope":548,"src":"352:22:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":542,"name":"address","nodeType":"ElementaryTypeName","src":"352:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":545,"mutability":"mutable","name":"proxy","nameLocation":"393:5:5","nodeType":"VariableDeclaration","scope":548,"src":"385:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":544,"name":"address","nodeType":"ElementaryTypeName","src":"385:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":547,"mutability":"mutable","name":"codehash","nameLocation":"417:8:5","nodeType":"VariableDeclaration","scope":548,"src":"409:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"ProxiableSlot","nameLocation":"327:13:5","nodeType":"StructDefinition","scope":577,"src":"320:113:5","visibility":"public"},{"body":{"id":557,"nodeType":"Block","src":"501:54:5","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":553,"name":"__proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":576,"src":"519:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$548_storage_ptr_$","typeString":"function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"}},"id":554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"519:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot storage pointer"}},"id":555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"533:14:5","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":543,"src":"519:28:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":552,"id":556,"nodeType":"Return","src":"512:35:5"}]},"id":558,"implemented":true,"kind":"function","modifiers":[],"name":"__implementation","nameLocation":"450:16:5","nodeType":"FunctionDefinition","parameters":{"id":549,"nodeType":"ParameterList","parameters":[],"src":"466:2:5"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":558,"src":"492:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":550,"name":"address","nodeType":"ElementaryTypeName","src":"492:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"491:9:5"},"scope":577,"src":"441:114:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":567,"nodeType":"Block","src":"614:45:5","statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":563,"name":"__proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":576,"src":"632:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$548_storage_ptr_$","typeString":"function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"}},"id":564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"632:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot storage pointer"}},"id":565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"646:5:5","memberName":"proxy","nodeType":"MemberAccess","referencedDeclaration":545,"src":"632:19:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":562,"id":566,"nodeType":"Return","src":"625:26:5"}]},"id":568,"implemented":true,"kind":"function","modifiers":[],"name":"__proxy","nameLocation":"572:7:5","nodeType":"FunctionDefinition","parameters":{"id":559,"nodeType":"ParameterList","parameters":[],"src":"579:2:5"},"returnParameters":{"id":562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":561,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":568,"src":"605:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":560,"name":"address","nodeType":"ElementaryTypeName","src":"605:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"604:9:5"},"scope":577,"src":"563:96:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":575,"nodeType":"Block","src":"746:217:5","statements":[{"AST":{"nativeSrc":"766:190:5","nodeType":"YulBlock","src":"766:190:5","statements":[{"nativeSrc":"861:84:5","nodeType":"YulAssignment","src":"861:84:5","value":{"kind":"number","nativeSrc":"879:66:5","nodeType":"YulLiteral","src":"879:66:5","type":"","value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"variableNames":[{"name":"proxiable.slot","nativeSrc":"861:14:5","nodeType":"YulIdentifier","src":"861:14:5"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":572,"isOffset":false,"isSlot":true,"src":"861:14:5","suffix":"slot","valueSize":1}],"id":574,"nodeType":"InlineAssembly","src":"757:199:5"}]},"id":576,"implemented":true,"kind":"function","modifiers":[],"name":"__proxiable","nameLocation":"676:11:5","nodeType":"FunctionDefinition","parameters":{"id":569,"nodeType":"ParameterList","parameters":[],"src":"687:2:5"},"returnParameters":{"id":573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":572,"mutability":"mutable","name":"proxiable","nameLocation":"735:9:5","nodeType":"VariableDeclaration","scope":576,"src":"713:31:5","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot"},"typeName":{"id":571,"nodeType":"UserDefinedTypeName","pathNode":{"id":570,"name":"ProxiableSlot","nameLocations":["713:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":548,"src":"713:13:5"},"referencedDeclaration":548,"src":"713:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_ProxiableSlot_$548_storage_ptr","typeString":"struct Proxiable.ProxiableSlot"}},"visibility":"internal"}],"src":"712:33:5"},"scope":577,"src":"667:296:5","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":578,"src":"70:896:5","usedErrors":[],"usedEvents":[]}],"src":"35:933:5"},"id":5},"project/contracts/patterns/Upgradeable.sol":{"ast":{"absolutePath":"project/contracts/patterns/Upgradeable.sol","exportedSymbols":{"ERC165":[291],"IERC165":[303],"Initializable":[267],"Proxiable":[577],"Upgradeable":[694]},"id":695,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":579,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"79:31:6"},{"absolutePath":"npm/@openzeppelin/contracts@5.4.0/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","id":580,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":695,"sourceUnit":292,"src":"114:64:6","symbolAliases":[],"unitAlias":""},{"absolutePath":"project/contracts/patterns/Initializable.sol","file":"./Initializable.sol","id":581,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":695,"sourceUnit":534,"src":"182:29:6","symbolAliases":[],"unitAlias":""},{"absolutePath":"project/contracts/patterns/Proxiable.sol","file":"./Proxiable.sol","id":582,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":695,"sourceUnit":578,"src":"213:25:6","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":583,"name":"Initializable","nameLocations":["275:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":267,"src":"275:13:6"},"id":584,"nodeType":"InheritanceSpecifier","src":"275:13:6"},{"baseName":{"id":585,"name":"Proxiable","nameLocations":["290:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":577,"src":"290:9:6"},"id":586,"nodeType":"InheritanceSpecifier","src":"290:9:6"}],"canonicalName":"Upgradeable","contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":694,"linearizedBaseContracts":[694,577,267],"name":"Upgradeable","nameLocation":"260:11:6","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":588,"mutability":"immutable","name":"_BASE","nameLocation":"336:5:6","nodeType":"VariableDeclaration","scope":694,"src":"309:32:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":587,"name":"address","nodeType":"ElementaryTypeName","src":"309:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":590,"mutability":"immutable","name":"_CODEHASH","nameLocation":"375:9:6","nodeType":"VariableDeclaration","scope":694,"src":"348:36:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"348:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":592,"mutability":"immutable","name":"_UPGRADABLE","nameLocation":"415:11:6","nodeType":"VariableDeclaration","scope":694,"src":"391:35:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":591,"name":"bool","nodeType":"ElementaryTypeName","src":"391:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"body":{"id":605,"nodeType":"Block","src":"470:135:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":597,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"511:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}],"id":596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"503:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":595,"name":"address","nodeType":"ElementaryTypeName","src":"503:7:6","typeDescriptions":{}}},"id":598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"503:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":599,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"520:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"503:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5570677261646561626c653a206e6f7420612064656c65676174652063616c6c","id":601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"540:34:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_90e095d6d6ca6b07be08fb15eec2b1209d1399dee84122827df7649f8a4c27cb","typeString":"literal_string \"Upgradeable: not a delegate call\""},"value":"Upgradeable: not a delegate call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_90e095d6d6ca6b07be08fb15eec2b1209d1399dee84122827df7649f8a4c27cb","typeString":"literal_string \"Upgradeable: not a delegate call\""}],"id":594,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"481:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"481:104:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":603,"nodeType":"ExpressionStatement","src":"481:104:6"},{"id":604,"nodeType":"PlaceholderStatement","src":"596:1:6"}]},"id":606,"name":"onlyDelegateCalls","nameLocation":"444:17:6","nodeType":"ModifierDefinition","parameters":{"id":593,"nodeType":"ParameterList","parameters":[],"src":"462:0:6"},"src":"435:170:6","virtual":true,"visibility":"internal"},{"anonymous":false,"documentation":{"id":607,"nodeType":"StructuredDocumentation","src":"613:437:6","text":"Emitted every time the contract gets upgraded.\n @param from The address who ordered the upgrading. Namely, the WRB operator in \"trustable\" implementations.\n @param baseAddr The address of the new implementation contract.\n @param baseCodehash The EVM-codehash of the new implementation contract.\n @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it."},"eventSelector":"e73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6","id":617,"name":"Upgraded","nameLocation":"1062:8:6","nodeType":"EventDefinition","parameters":{"id":616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":609,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1097:4:6","nodeType":"VariableDeclaration","scope":617,"src":"1081:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":608,"name":"address","nodeType":"ElementaryTypeName","src":"1081:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":611,"indexed":true,"mutability":"mutable","name":"baseAddr","nameLocation":"1128:8:6","nodeType":"VariableDeclaration","scope":617,"src":"1112:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":610,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":613,"indexed":true,"mutability":"mutable","name":"baseCodehash","nameLocation":"1163:12:6","nodeType":"VariableDeclaration","scope":617,"src":"1147:28:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1147:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":615,"indexed":false,"mutability":"mutable","name":"versionTag","nameLocation":"1194:10:6","nodeType":"VariableDeclaration","scope":617,"src":"1186:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":614,"name":"string","nodeType":"ElementaryTypeName","src":"1186:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1070:141:6"},"src":"1056:156:6"},{"body":{"id":637,"nodeType":"Block","src":"1253:110:6","statements":[{"assignments":[623],"declarations":[{"constant":false,"id":623,"mutability":"mutable","name":"_base","nameLocation":"1272:5:6","nodeType":"VariableDeclaration","scope":637,"src":"1264:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":622,"name":"address","nodeType":"ElementaryTypeName","src":"1264:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":628,"initialValue":{"arguments":[{"id":626,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1288:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Upgradeable_$694","typeString":"contract Upgradeable"}],"id":625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1280:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":624,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:6","typeDescriptions":{}}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1280:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1264:29:6"},{"expression":{"id":631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":629,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"1304:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":630,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":623,"src":"1312:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1304:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":632,"nodeType":"ExpressionStatement","src":"1304:13:6"},{"expression":{"id":635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":633,"name":"_UPGRADABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":592,"src":"1328:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":634,"name":"_isUpgradable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":619,"src":"1342:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1328:27:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":636,"nodeType":"ExpressionStatement","src":"1328:27:6"}]},"id":638,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":619,"mutability":"mutable","name":"_isUpgradable","nameLocation":"1238:13:6","nodeType":"VariableDeclaration","scope":638,"src":"1233:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":618,"name":"bool","nodeType":"ElementaryTypeName","src":"1233:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1232:20:6"},"returnParameters":{"id":621,"nodeType":"ParameterList","parameters":[],"src":"1253:0:6"},"scope":694,"src":"1220:143:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":646,"nodeType":"Block","src":"1531:31:6","statements":[{"expression":{"id":644,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"1549:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":643,"id":645,"nodeType":"Return","src":"1542:12:6"}]},"documentation":{"id":639,"nodeType":"StructuredDocumentation","src":"1371:100:6","text":"@dev Retrieves base contract. Differs from address(this) when called via delegate-proxy pattern."},"functionSelector":"5001f3b5","id":647,"implemented":true,"kind":"function","modifiers":[],"name":"base","nameLocation":"1486:4:6","nodeType":"FunctionDefinition","parameters":{"id":640,"nodeType":"ParameterList","parameters":[],"src":"1490:2:6"},"returnParameters":{"id":643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":642,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":647,"src":"1522:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":641,"name":"address","nodeType":"ElementaryTypeName","src":"1522:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1521:9:6"},"scope":694,"src":"1477:85:6","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":658,"nodeType":"Block","src":"1728:116:6","statements":[{"assignments":[654],"declarations":[{"constant":false,"id":654,"mutability":"mutable","name":"_base","nameLocation":"1747:5:6","nodeType":"VariableDeclaration","scope":658,"src":"1739:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":653,"name":"address","nodeType":"ElementaryTypeName","src":"1739:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":656,"initialValue":{"id":655,"name":"_BASE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":588,"src":"1755:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1739:21:6"},{"AST":{"nativeSrc":"1780:57:6","nodeType":"YulBlock","src":"1780:57:6","statements":[{"nativeSrc":"1795:31:6","nodeType":"YulAssignment","src":"1795:31:6","value":{"arguments":[{"name":"_base","nativeSrc":"1820:5:6","nodeType":"YulIdentifier","src":"1820:5:6"}],"functionName":{"name":"extcodehash","nativeSrc":"1808:11:6","nodeType":"YulIdentifier","src":"1808:11:6"},"nativeSrc":"1808:18:6","nodeType":"YulFunctionCall","src":"1808:18:6"},"variableNames":[{"name":"_codehash","nativeSrc":"1795:9:6","nodeType":"YulIdentifier","src":"1795:9:6"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":654,"isOffset":false,"isSlot":false,"src":"1820:5:6","valueSize":1},{"declaration":651,"isOffset":false,"isSlot":false,"src":"1795:9:6","valueSize":1}],"id":657,"nodeType":"InlineAssembly","src":"1771:66:6"}]},"documentation":{"id":648,"nodeType":"StructuredDocumentation","src":"1570:92:6","text":"@dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall."},"functionSelector":"a9e954b9","id":659,"implemented":true,"kind":"function","modifiers":[],"name":"codehash","nameLocation":"1677:8:6","nodeType":"FunctionDefinition","parameters":{"id":649,"nodeType":"ParameterList","parameters":[],"src":"1685:2:6"},"returnParameters":{"id":652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":651,"mutability":"mutable","name":"_codehash","nameLocation":"1717:9:6","nodeType":"VariableDeclaration","scope":659,"src":"1709:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1709:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1708:19:6"},"scope":694,"src":"1668:176:6","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":667,"nodeType":"Block","src":"1990:37:6","statements":[{"expression":{"id":665,"name":"_UPGRADABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":592,"src":"2008:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":664,"id":666,"nodeType":"Return","src":"2001:18:6"}]},"documentation":{"id":660,"nodeType":"StructuredDocumentation","src":"1852:81:6","text":"@dev Determines whether the logic of this contract is potentially upgradable."},"functionSelector":"5479d940","id":668,"implemented":true,"kind":"function","modifiers":[],"name":"isUpgradable","nameLocation":"1948:12:6","nodeType":"FunctionDefinition","parameters":{"id":661,"nodeType":"ParameterList","parameters":[],"src":"1960:2:6"},"returnParameters":{"id":664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":668,"src":"1984:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":662,"name":"bool","nodeType":"ElementaryTypeName","src":"1984:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1983:6:6"},"scope":694,"src":"1939:88:6","stateMutability":"view","virtual":false,"visibility":"public"},{"documentation":{"id":669,"nodeType":"StructuredDocumentation","src":"2035:78:6","text":"@dev Tells whether provided address could eventually upgrade the contract."},"functionSelector":"6b58960a","id":676,"implemented":false,"kind":"function","modifiers":[],"name":"isUpgradableFrom","nameLocation":"2128:16:6","nodeType":"FunctionDefinition","parameters":{"id":672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":671,"mutability":"mutable","name":"from","nameLocation":"2153:4:6","nodeType":"VariableDeclaration","scope":676,"src":"2145:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":670,"name":"address","nodeType":"ElementaryTypeName","src":"2145:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2144:14:6"},"returnParameters":{"id":675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":676,"src":"2190:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":673,"name":"bool","nodeType":"ElementaryTypeName","src":"2190:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2189:6:6"},"scope":694,"src":"2119:77:6","stateMutability":"view","virtual":true,"visibility":"external"},{"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"2204:175:6","text":"@notice Re-initialize contract's storage context upon a new upgrade from a proxy. \n @dev Must fail when trying to upgrade to same logic contract more than once."},"functionSelector":"439fab91","id":682,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2394:10:6","nodeType":"FunctionDefinition","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":682,"src":"2405:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":678,"name":"bytes","nodeType":"ElementaryTypeName","src":"2405:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2404:14:6"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"2435:0:6"},"scope":694,"src":"2385:51:6","stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":687,"implemented":false,"kind":"function","modifiers":[],"name":"__initializeUpgradableData","nameLocation":"2451:26:6","nodeType":"FunctionDefinition","parameters":{"id":685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":684,"mutability":"mutable","name":"_initData","nameLocation":"2491:9:6","nodeType":"VariableDeclaration","scope":687,"src":"2478:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":683,"name":"bytes","nodeType":"ElementaryTypeName","src":"2478:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2477:24:6"},"returnParameters":{"id":686,"nodeType":"ParameterList","parameters":[],"src":"2518:0:6"},"scope":694,"src":"2442:77:6","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":688,"nodeType":"StructuredDocumentation","src":"2527:73:6","text":"@dev Retrieves human-redable named version of current implementation."},"functionSelector":"54fd4d50","id":693,"implemented":false,"kind":"function","modifiers":[],"name":"version","nameLocation":"2615:7:6","nodeType":"FunctionDefinition","parameters":{"id":689,"nodeType":"ParameterList","parameters":[],"src":"2622:2:6"},"returnParameters":{"id":692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":691,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":693,"src":"2654:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":690,"name":"string","nodeType":"ElementaryTypeName","src":"2654:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2653:15:6"},"scope":694,"src":"2606:63:6","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":695,"src":"242:2431:6","usedErrors":[16,19],"usedEvents":[24,617]}],"src":"79:2594:6"},"id":6}}}}